
1 串口通信简介 串口通信是一种常见的串行通信方式,分为UART和USART两种,UART是非同步通信,USART可用于同步通信,在使用UART串口通信过程中需要保持发送端 、接受端的通信波特率一致,否则双方接收的数据就会出现异常。" d7 o0 v9 [' d 2 问题说明& m% |! f6 W+ V) N, ~ 程序烧录至开发板后,将开发板UART通过USB-TTL模块连接至PC,串口上位机的通信波特率与程序中设置的串口波特率一致,结果PC串口助手接收到的数据出现了乱码。此时我猜测应该是串口波特率出现了异常,可能是其他外设的时钟配置影响到了串口外设的时钟。 3 解决办法/ L! Z" n9 O! ], v4 W8 k, v5 h 于是使用示波器观察UART的TX引脚信号波形,使用cursor测量水平宽度得到一个bit位的时间宽度T,由于串口通信的波特率就是比特率,因此实际串口波特率为1/T,此时将1/T计算的结果配置到串口助手中,通信数据准确无误,没有再出现乱码。如果没有示波器,使用逻辑分析仪捕获串口收发信号波形也是没有问题的; O' U! `* Z3 L3 O 9 M& F5 l, G9 y _3 g+ [7 j: m 1. .png") |
Nucleo-F429ZI开发板体验LWIP功能
TouchGFX应用移植自定义屏幕
小马哥STM32F103开源小四轴RoboFly全部资料大放送
STM32固件库分享,超全系列整理
【经验分享】新建基于STM32F40x 固件库的MDK5 工程
STM32F10xxx 正交编码器接口应用笔记 及源代码
年终中奖---F429板卡网络应用
【NUCLEO STM32F429ZI开发板】之点灯大师
分享一个STM32F103的硬件IIC代码库,完美解决IIC问题!
OpenBLT移植到STM32F405开发板