stm32 uart 中断同时接收和发送时存在丢失数据的现象

[复制链接]
15518|24
beyond696 发表于 2013-11-22 15:42 | 显示全部楼层
楼主还是用DMA吧,中断接收确实会有各种问题
beyond696 发表于 2013-11-22 15:43 | 显示全部楼层
我用DMA接收36M时钟速度的SPI数据都不会丢,何况串口...
 楼主| prettyxp 发表于 2013-11-22 17:54 | 显示全部楼层
beyond696 发表于 2013-11-22 15:43
我用DMA接收36M时钟速度的SPI数据都不会丢,何况串口...

哥哥我知道dma不会丢,但是发现了一个问题, 我要用5个串口,可以有一个串口没有DMA, 可恶
 楼主| prettyxp 发表于 2013-11-22 18:01 | 显示全部楼层
我觉得应该是跑了OS的原因, 因为uCOS有时会有关中断,因为大指量传输数据中断太频繁了, 可能就会偶尔丢失几字节没有响应到中断.
用dma不会的原因是,因为中断次数大大降底,例如250个dma的buf, 100kbyte数据只要400次接收,400次发送, 如果是中断方式, 200000
次中断, 差别不是一个数量级的.
myxiaonia 发表于 2017-4-10 00:02 | 显示全部楼层
prettyxp 发表于 2013-11-22 18:01
我觉得应该是跑了OS的原因, 因为uCOS有时会有关中断,因为大指量传输数据中断太频繁了, 可能就会偶尔丢失几 ...

开关中断之间的时间如果超过了一个串口字节的话是有可能出现你说的问题的,5个串口就算5分之1的串口时间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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