正常情况这里不介绍
目录
1、低波特率情况,接收信号可能会出现干扰
2、波特率300时,DMA接收无法工作
3、波特率1200时DMA发送
4、具体现象如下
环境:主频72M STM32F103C8
注意事项:
1、低波特率情况,接收信号可能会出现干扰
解决方案:增加数据过滤--因为干扰信号在第一个或者最后一个,验证通过
2、波特率300时,DMA接收无法工作
收到的码完全不对,波特率600正常,
解决方案:这是修改工作时钟频率可能会好,没去做实验
3、波特率1200时DMA发送
需要考虑发送是否完成,因为TC中断产生是以DNTR计数值为0来触发的,而在低波特率情况下,中断产生的时候,发送并未完成;
解决方案:在DMA中增加发送完成检测,验证通过最低波特率600正常;(实际工程采用开启发送完成中断,注意这个时候DMA完成中断中不能关闭DMA发送)
4、具体现象如下:
波特率1200,上一行数据是正常应该接收到的也是断点设置在进入中断的时候
下面一行数据是断点设置在出中断的时候,接收到的数据少了2个字节
具体断点设置如下,正常思维是断点在后面前面要多数据
增加下图灰色部分,波特率600测试也正常(注意:工程中不能这么加,这里只是为了性能验证)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)