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

STM32F103VCT6 串口接收数据异常

[复制链接]
1+1=2 提问时间:2021-5-12 13:59 / 已解决
串口波特率设置成2400 读取到的数据异常 设置成9600数据正常 使用的是串口3,应该怎么解决呢?
收藏 评论10 发布时间:2021-5-12 13:59

举报

10个回答
1+1=2 最优答案 回答时间:2021-5-15 13:50:16
结帖了,问题找到了,是串口接收的问题,串口接收运行的代码过长,导致的看门狗复位
废鱼 回答时间:2021-5-12 14:33:10
您好,请确定上位机串口的波特率和ST的波特率要一直。另外注意ST的时钟频率配置是否和实际的一直。比如默认是25Mhz的外部晶振,实际使用的是8Mhz的,需要修改这个配置。
1+1=2 回答时间:2021-5-12 19:46:17
飞羽一条 发表于 2021-5-12 14:33
您好,请确定上位机串口的波特率和ST的波特率要一直。另外注意ST的时钟频率配置是否和实际的一直。比如默认 ...

具体说一下情况吧,用的上位机+USB转串口数据线,STM32跑的是UCOSii的系统,只有一个串口的时候发送正常,接收也正常,但是两个串口同时工作就会数据异常甚至发生硬件错误,
1+1=2 回答时间:2021-5-12 19:47:48
首先确定的是晶振没有问题,感觉是跑的UCOS系统导致的,不知道哪里配置错误了,按说跑两个串口同时发送接收不同的数据应该没有问题呢,但是现在很奇怪
1+1=2 回答时间:2021-5-12 20:11:03
串口2使用DMA的方式发送数据正常,但是串口3配置DMA的时候就异常了,哎奇怪的现象
zhangt0713 回答时间:2021-5-12 20:57:27
问题描述的不是很清晰 最好把和串口相关的代码贴出来
奇迹 回答时间:2021-5-13 08:35:24
频率有点低,建议检查一下分频。用示波器抓一下波形看看是不是2400Hz
废鱼 回答时间:2021-5-13 08:51:35
应该不是ucos的问题,检查一下DMA的配置,地址是不是写成和串口2的相同了。
奇迹 回答时间:2021-5-15 09:14:35
如果跑操作系统的话确实有可能出问题,因为一直有一个1ms的心跳。建议使用dma接受发送去操作串口。
1+1=2 回答时间:2021-5-15 13:52:03
1+1=2 发表于 2021-5-15 13:50
结帖了,问题找到了,是串口接收的问题,串口接收运行的代码过长,导致的看门狗复位
...

还有一点需要补充一下,在使用操作系统的时候尽量不要用全局变量,静态本地变量,这样会导致程序崩溃

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版