stm32串口通信乱码,求助!
使用单片机STM32F100C8T6,时钟为24Mhz,配置串口USART1进行串口通信,但是通信有异常,总是数据返回不对,程序里面写的是发送什么接收什么,当hex发送01时,返回40,发送0001时,返回0100,发送00010203040506返回01020304050600,数据总是有问题。请大神帮忙解惑!你试着把发送部分放到外面来,放里面感觉挺危险的 yu0405jie 发表于 2018-1-18 16:49
你试着把发送部分放到外面来,放里面感觉挺危险的
发送到外面也是一样的,数据都不正确。 zhuyueqi 发表于 2018-1-18 16:53
发送到外面也是一样的,数据都不正确。
串口接收到数据就已经乱了吗? 这是全部代码吗?RX的GPIO引脚的没有配置? GPIO的反转速度目测设置满了,开50M如何? 你应该对系统时钟进行正确的配置,请参考我的贴:
https://www.stmcu.org.cn/module/forum/thread-614091-1-1.html 保证硬件连接的正确性;
收发端的通信参数配置一致;
GPIO/UART的基本配置确认下,可以参考官方例程;注意管脚复用功能的冲突;
注意中断优先级的问题; 楼主你别一次性发太多给单片机 要么把接收到的数据放到BUFF里面等接收完一帧数据在主程序里面打印,比如你用115200的波特率 发一个字节就 9/115200 S(约等于78US).关键你中断里面还要发接收到的数据,你很有可能中断里面一个数据没发完,另一个数据就来了。
页:
[1]