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

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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版