发新帖我要提问
12
返回列表
打印

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

[复制链接]
楼主: prettyxp
手机看帖
扫描二维码
随时随地手机跟帖
21
beyond696| | 2013-11-22 15:42 | 只看该作者 回帖奖励 |倒序浏览
楼主还是用DMA吧,中断接收确实会有各种问题

使用特权

评论回复
22
beyond696| | 2013-11-22 15:43 | 只看该作者
我用DMA接收36M时钟速度的SPI数据都不会丢,何况串口...

使用特权

评论回复
23
prettyxp|  楼主 | 2013-11-22 17:54 | 只看该作者
beyond696 发表于 2013-11-22 15:43
我用DMA接收36M时钟速度的SPI数据都不会丢,何况串口...

哥哥我知道dma不会丢,但是发现了一个问题, 我要用5个串口,可以有一个串口没有DMA, 可恶

使用特权

评论回复
24
prettyxp|  楼主 | 2013-11-22 18:01 | 只看该作者
我觉得应该是跑了OS的原因, 因为uCOS有时会有关中断,因为大指量传输数据中断太频繁了, 可能就会偶尔丢失几字节没有响应到中断.
用dma不会的原因是,因为中断次数大大降底,例如250个dma的buf, 100kbyte数据只要400次接收,400次发送, 如果是中断方式, 200000
次中断, 差别不是一个数量级的.

使用特权

评论回复
25
myxiaonia| | 2017-4-10 00:02 | 只看该作者
prettyxp 发表于 2013-11-22 18:01
我觉得应该是跑了OS的原因, 因为uCOS有时会有关中断,因为大指量传输数据中断太频繁了, 可能就会偶尔丢失几 ...

开关中断之间的时间如果超过了一个串口字节的话是有可能出现你说的问题的,5个串口就算5分之1的串口时间

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则