CubeMx配置UART总结

昨天在使用CubeMx配置uart的时候遇到了一些问题,在这里总结记录一下,以免后期再次出错。
芯片:STM32F103RCT6
工具:CubeMx、Keil5
使用UART1进行配置
下面开始具体配置操作:
1.配置RCC

在这里插入图片描述
在RCC的选择上一共有三个选项,分别如下图:
在这里插入图片描述
其中BYPASS Clock Source表示旁路时钟源,也就是外部时钟,只需要外部提供时钟接入OSC_IN引脚,OSC_OUT引脚悬空,对应选择为BYPASS Clock Source;Crystal/Ceramic Resonator表示晶体/陶瓷晶振,谐振器即相当于石英/陶瓷 晶振,OSC_IN 与 OSC_OUT引脚都要连接,对应选择为Crystal/Ceramic Resonator。我这里开发板使用的是12Mhz晶振,所以RCC的HSE选项设置为Crystal/Ceramic Resonator。
2.配置SYS
在这里插入图片描述
配置sys主要是为了配置调试器所连接的引脚,这里我使用ST-LINK或JLINK的SWD模式调试,所以选择JTAG(4pin)。
3.配置时钟
在这里插入图片描述
由于我的开发板采用的是外部12MHz晶振,所以需要将HSE修改为12,同时设置最高时钟为72MHz。
4.配置UART1
这里选择异步通信,并指定波特率。
在这里插入图片描述
开启串口中断并查看引脚高低电平:
在这里插入图片描述
在这里插入图片描述
5.工程导出设置
指定工程名称,指定工程生成路径,如果使用Keil5作为编译环境则选择MDK-ARM V5,最后选择自己安装的库。
在这里插入图片描述
复制所有的.c和.h,然后为每个工程生成独立的.c和.h
在这里插入图片描述
如果遇到以下错误,则重新选一次库,然后再点CENERATE CODE,可以多次尝试。
在这里插入图片描述
直到出现以下弹窗,点击open project即可打开工程。
在这里插入图片描述
总结:
1.要注意细节,要先配置RCC然后再去配置时钟树
2.注意硬件连接,可能硬件工程师已经把RX TX已经反转过来了,不需要反接
3.注意自己板载晶振是多大,不一定是8MHz,有可能是12MHz,如果晶振配置错误,串口调试助手接收的数据就是乱码。
4.另外就是printf打印,如果你将putc函数写在了其他地方不能打印,可以尝试一下写在main.c中的main函数上面。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值