zhuyueqi 发表于 2018-1-18 16:24:49

stm32串口通信乱码,求助!

使用单片机STM32F100C8T6,时钟为24Mhz,配置串口USART1进行串口通信,但是通信有异常,总是数据返回不对,程序里面写的是发送什么接收什么,当hex发送01时,返回40,发送0001时,返回0100,发送00010203040506返回01020304050600,数据总是有问题。请大神帮忙解惑!

yu0405jie 发表于 2018-1-18 16:49:36

你试着把发送部分放到外面来,放里面感觉挺危险的

zhuyueqi 发表于 2018-1-18 16:53:43

yu0405jie 发表于 2018-1-18 16:49
你试着把发送部分放到外面来,放里面感觉挺危险的

发送到外面也是一样的,数据都不正确。

yu0405jie 发表于 2018-1-18 18:36:36

zhuyueqi 发表于 2018-1-18 16:53
发送到外面也是一样的,数据都不正确。

串口接收到数据就已经乱了吗?

Inc_brza 发表于 2018-1-18 19:05:08

这是全部代码吗?RX的GPIO引脚的没有配置? GPIO的反转速度目测设置满了,开50M如何?

wenyangzeng 发表于 2018-1-18 19:30:28

你应该对系统时钟进行正确的配置,请参考我的贴:
https://www.stmcu.org.cn/module/forum/thread-614091-1-1.html

xmshao 发表于 2018-1-18 20:07:24

保证硬件连接的正确性;
收发端的通信参数配置一致;
GPIO/UART的基本配置确认下,可以参考官方例程;注意管脚复用功能的冲突;
注意中断优先级的问题;

聪神聪 发表于 2018-1-19 09:03:47

楼主你别一次性发太多给单片机 要么把接收到的数据放到BUFF里面等接收完一帧数据在主程序里面打印,比如你用115200的波特率 发一个字节就 9/115200 S(约等于78US).关键你中断里面还要发接收到的数据,你很有可能中断里面一个数据没发完,另一个数据就来了。
页: [1]
查看完整版本: stm32串口通信乱码,求助!