[STM32F0] F0 串口over run

[复制链接]
1052|6
 楼主| xiaofei558008 发表于 2020-3-17 17:26 | 显示全部楼层 |阅读模式
最近搞个2M的异步485串口,老是出现串口挂了,CR1寄存器disable 之后再enable,又正常了;
查看ISR寄存器,发现ORE寄存器置位;
初始化的时候在寄存器CR3里面把OVRDIS置1,关闭over run功能,情况会好很多;但还是有出现异常;

请教大侠 F0 串口,配置在2Mbps下16 samples 下是否会出现这个问题?
谢谢!


mmuuss586 发表于 2020-3-18 10:01 | 显示全部楼层
速度太快了,上DMA
 楼主| xiaofei558008 发表于 2020-3-18 10:18 | 显示全部楼层
mmuuss586 发表于 2020-3-18 10:01
速度太快了,上DMA

已经是DMA 加持了,大侠
香水城 发表于 2020-3-18 10:56 | 显示全部楼层
本帖最后由 香水城 于 2020-3-18 10:57 编辑

对于F0来讲,2MBps,  oversample 16是很常规的应用场景,
正常来讲,不该有啥问题。

你现在接收发生溢出,检查下到底什么原因导致溢出,看看哪个环节导致的问题。

感觉是你的DMA传输有受到影响的时候存在。
 楼主| xiaofei558008 发表于 2020-3-18 14:02 | 显示全部楼层
香水城 发表于 2020-3-18 10:56
对于F0来讲,2MBps,  oversample 16是很常规的应用场景,
正常来讲,不该有啥问题。

感谢大侠,我这个是在电机控制里面,485芯片出来的数据,3.3V的485和5V 485都会影响,我用另外一块板子只单独接受485AB信号,没有电机,不会出错,就算不关CR3的 OVRDIS也不会出错;

189775e71b9672150b.png

香水城 发表于 2020-3-18 15:52 | 显示全部楼层
从你描述来看,感觉问题跟电源或干扰有关。

应该是电机切换转动时对电源乃至整个系统有明显的影响。

估计你要在电源、干扰方面想想办法。即使在电机来回转动时,尽量保证电源的稳定很重要。或者你是否可以考虑做些隔离之类的。
 楼主| xiaofei558008 发表于 2020-3-19 08:59 | 显示全部楼层
香水城 发表于 2020-3-18 15:52
从你描述来看,感觉问题跟电源或干扰有关。

应该是电机切换转动时对电源乃至整个系统有明显的影响。

好的,感谢感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

143

主题

998

帖子

13

粉丝
快速回复 在线客服 返回列表 返回顶部