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

建议STM32的芯片加上串口超时功能,很好用的一个功能

[复制链接]
楼主: cecoyzy
手机看帖
扫描二维码
随时随地手机跟帖
41

DMA 不是可以把数据从内存自己搬给串口或从串口搬向内存吗?难道一定要FIFO吗

使用特权

评论回复
42
cecoyzy|  楼主 | 2008-6-16 10:46 | 只看该作者

IDLE中断可以和DMA联合用不?

假设设置DMA接收10字节中断,并开启IDLE中断,如果只接收到5字节后串口线上就没有了数据,此时能产生中断不?
如果能产生中断,这也就是和ARM相同的串口超时中断,指示超时时间不能调节而已.

使用特权

评论回复
43
香水城| | 2008-6-16 10:59 | 只看该作者

IDLE中断可以和DMA联合用不?——手册上看是可以但没试过

你可以试试看;有空我们也要试试。

使用特权

评论回复
44
zusen| | 2008-6-17 10:44 | 只看该作者

呵呵,没有硬超时,可以用软超时

一直都是这么的在用,定时器搞定,嘿嘿

使用特权

评论回复
45
shockwave| | 2008-6-17 11:16 | 只看该作者

不完美呀,不同厂家片子都有自己的特色。

不同特色也对应了不同用户,要不都让一家做了。
AT在这个方面比较牛,不光是有串口DMA还有硬件超时。
LM的没仔细研究,不知道超时用起来如何。
STM32我觉得发送DMA比FIFO强点,但没硬件超时的话接收不定长帧DMA是个问题。

使用特权

评论回复
46
cqbbgmg| | 2008-6-21 20:52 | 只看该作者

可以用空闲中断

?????????

使用特权

评论回复
47
cqbbgmg| | 2008-6-21 20:59 | 只看该作者

可以用空闲中断

我用空闲中断和DMA一起用完成了modbus 通讯

使用特权

评论回复
48
kevin_ares| | 2010-7-3 21:48 | 只看该作者
我的想法是,

先用中断收取包头,

得到包的长度,再关掉中断,通过DMA接收剩下的部分

使用特权

评论回复
49
txcy| | 2010-7-4 08:57 | 只看该作者
中断过于频繁肯定会影响到数据的传输,还会影响到程序里面的其它模块

使用特权

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

本版积分规则