news 2026/4/4 16:45:45

[STM32C0] 【STM32C092RC 测评】+ 03 板载串口2输出测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32C0] 【STM32C092RC 测评】+ 03 板载串口2输出测试

一:通用同步/异步收发器(USART)
这些设备嵌入四个通用同步/异步接收器/发送器,其通信速度高达6 Mbit/s。
它们提供CTS、RTS和RS485 DE信号的硬件管理、多处理器通信模式、同步SPI通信和单线半双工通信。
双工通信模式。有些还支持智能卡通信(ISO7816)、IrDASIR ENDEC、LIN主从能力和自动波特率功能,并具有独立于CPU时钟的时钟域,允许它们从停止模式唤醒MCU。从停止模式唤醒的事件是可编程的,可以:
起始位检测
任何接收到的数据框架
特定的程序化数据帧
所有 USART接口都可以由 DMA控制器提供服务。


USART 接口发送与接收波特率可配置,也支持通过 DMA 进行连续通信。 USART 还支持多处理器通信、LIN 模式、同步模式、单线半双工通信、智能卡异步协议、 IrDA SIR ENDEC 功能、以及硬件流控制功能。
1.2 串口特性
支持全双工通信
支持单线半双工通信
波特率可配置,最高波特率可达 4Mbit/s
支持 8bit 或 9bit 数据帧
支持 1bit 或 2bit 停止位
支持硬件生成校验位及校验位检查
支持硬件流控: RTS、 CTS
支持 DMA 收发
支持多处理器通信:如果地址不匹配,则进入静默模式, 可通过空闲总线检测或地址标识唤醒
支持同步模式,允许用户在主模式下控制双向同步串行通信
支持智能卡异步协议,符合 ISO7816-3 标准
串行红外协议(IrDA SIR)编码与解码,提供正常与低功耗两种运行模式
支持 LIN 模式
支持多钟错误检测:数据溢出错误、帧错误、噪声错误、检验错误
支持多个中断请求:发送数据寄存器为空、 CTS 标志、发送完成、数据已接收、数据溢出、总线空闲、
检验错误、 LIN 模式断开帧检测、以及多缓冲区通信中的噪声标志/溢出错误/帧错误
二:原理图分享:
为了快速的调试串口的输出功能,这里我们使用板载的串口2


如图所示:板载设计的PA2,PA3引脚与调试的串口相连接;所以我们就在stm32cube MX 中配置一下,这两个引脚对应的串口就好了
三:STM32 cube MX 软件的配置过程:
如下图所示:这里PA2,PA3引脚可以设置为串口2,这里我们对串口2的参数进行配置一下,图示中的红色区域,需要用户进行自行配置。


配置好串口的基本参数后,需要手动使能串口2中断、同时配置中断的优先级别,这里设置的比之前的外部按键的中断优先级别高一些。



四:软件编写:
4.1 编写串口的基本流程:
首先串口时钟使能,GPIO时钟使能: __HAL_RCC_USART2_CLK_ENABLE();
GPIO端口模式设置: __HAL_RCC_GPIOA_CLK_ENABLE();
串口参数初始化:static void MX_USART2_UART_Init(void)
开启中断并且初始化 HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
使能串口: HAL_NVIC_EnableIRQ(USART2_IRQn);
编写串口发送函数:重映射PRINTF 函数进行数据的发送。
4.2 程序编写如下:
在编写程序之前,添加几个头文件、定义输出数据、重映射printf输出函数

复制

  1. /* USER CODE BEGIN Includes */
  2. #include "stdio.h"
  3. #include "string.h"
  4. #include "stdint.h"
  5. const uint8_t OUTPUT_str[] = "Hello STM32C092RC! Hello 21 IC 论坛! autor by 聪聪哥哥 \r\n";
  6. /* USER CODE END Includes */
  7. /* Private typedef -----------------------------------------------------------*/
  8. /* USER CODE BEGIN PTD */
  9. int fputc(int ch, FILE *f)
  10. {
  11. HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
  12. return ch;
  13. }
  14. /* USER CODE END PTD */

4.3 配置一下keil 参数


这里需要打开使用miclib的选型,否则会导致i程序运行不正常。
4.4 编写主程序函数

复制

  1. while (1)
  2. {
  3. /* USER CODE END WHILE */
  4. /* USER CODE BEGIN 3 */
  5. // HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
  6. // HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
  7. // HAL_Delay(1000);
  8. HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
  9. /* Insert delay 500ms */
  10. HAL_Delay(500);
  11. HAL_UART_Transmit(&huart2,OUTPUT_str,sizeof(OUTPUT_str),100);
  12. HAL_Delay(500);
  13. printf(" printf 函数调试完成\r\n");
  14. }

五:下载验证:



程序代码如下:

03_usart_printf.zip(5.8 MB, 下载次数: 1)

:
---------------------
作者:聪聪哥哥
链接:https://bbs.21ic.com/icview-3453962-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/3 6:08:40

GitHub 6K Star! 一款兼容性极好的音乐播放器!

今天要分享的这一款音乐播放器,我已经使用了好几年了,也算是见证了他一点一点的开发完善,到目前为止已经更新迭代无数次,非常nice的一款音乐播放器。 如果你是某音乐的重度用户,那么这款音乐播放器将是你的不二之选&a…

作者头像 李华
网站建设 2026/3/27 19:01:12

宇树机器人又刷第一!具身智能靠强化学习解锁直立行走与快速奔跑

宇树机器人又刷第一!具身智能靠强化学习解锁直立行走与快速奔跑 2025年北京首届世界人形机器人运动会上,宇树科技的人形机器人H1以5m/s的峰值速度冲过1500米赛道终点,包揽100米障碍赛、4100米接力等四项金牌——这已是宇树继春晚表演、亚运会…

作者头像 李华
网站建设 2026/4/3 17:37:37

2025最新!继续教育必备8个AI论文工具深度测评

2025最新!继续教育必备8个AI论文工具深度测评 2025年继续教育AI论文工具测评:精准筛选,高效助力学术写作 在当前快节奏的学术环境中,继续教育群体面临着论文写作、文献整理、格式规范等多重挑战。传统方法往往效率低下&#xff0c…

作者头像 李华
网站建设 2026/4/3 4:46:03

Flowjo 流式细胞分析软件介绍

在流式细胞术研究中,数据处理与解读是连接实验与结论的关键环节。FlowJo 作为流式分析领域的标杆软件,凭借全面的功能覆盖、强大的兼容性和便捷的操作体验,成为全球科研人员的首选工具。依托 BD流式细胞分析经验,FlowJo 构建了从数…

作者头像 李华
网站建设 2026/4/2 11:59:14

免费活码与视频二维码生成助力AI美化二维码转型精品

免费活码与视频二维码生成的结合,为企业提供了更多的营销创意和品牌展示方式。通过使用免费活码,用户可以高效创建视频二维码,捕捉顾客的眼球。每一个二维码不仅仅是信息的载体,更是吸引观众的重要工具。 使用视频二维码&#x…

作者头像 李华
网站建设 2026/3/18 12:40:45

智能一卡通系统配置清单包含管理中心设备、门禁、考勤、访客、通道闸机、梯控、停车场等九大子系统。核心设备包括服务器、管理平台、读卡器等,各子系统通过统一平台实现数据交互与权限管理

智能一卡通系统包含九大子系统,支持IC卡、人脸、二维码识别,实现人员通行、车辆管理及安防管控,配置包括服务器、读卡器、门禁控制器等,需注意网络与电源配置。 📋 智能一卡通系统详细配置清单完善版 一、智能一卡通管…

作者头像 李华