你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32串口通信乱码,求助!

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

图1

图1

图2

图2

图3

图3
收藏 评论7 发布时间:2018-1-18 16:24

举报

7个回答
随风飘扬 回答时间:2018-1-18 16:49:36
你试着把发送部分放到外面来,放里面感觉挺危险的

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

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

发送到外面也是一样的,数据都不正确。
随风飘扬 回答时间:2018-1-18 18:36:36
zhuyueqi 发表于 2018-1-18 16:53
发送到外面也是一样的,数据都不正确。

串口接收到数据就已经乱了吗?
Inc_brza 回答时间:2018-1-18 19:05:08
这是全部代码吗?RX的GPIO引脚的没有配置? GPIO的反转速度目测设置满了,开50M如何?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

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

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

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

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

聪聪 回答时间:2018-1-19 09:03:47
楼主你别一次性发太多给单片机 要么把接收到的数据放到BUFF里面等接收完一帧数据在主程序里面打印,比如你用115200的波特率 发一个字节就 9/115200 S(约等于78US).关键你中断里面还要发接收到的数据,你很有可能中断里面一个数据没发完,另一个数据就来了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版