0 使用DMA+USART接收无固定长度的串行数据 - 第2页 - STM32/STM8单片机论坛 - ST MCU意法半导体官方技术支持论坛 - 21ic电子技术开发论坛
打印

使用DMA+USART接收无固定长度的串行数据

[复制链接]
楼主: ST_ARM
手机看帖
扫描二维码
随时随地手机跟帖
21
mxh0506| | 2011-7-3 20:47 | 只看该作者 回帖奖励 |倒序浏览
确实是个好方案
但是诚如#13L所说, 响应不够及时. 尤其在数据长度变化范围很大的情况下.

使用特权

评论回复
22
SampsonKong| | 2012-3-23 15:05 | 只看该作者
mark

使用特权

评论回复
23
putron09| | 2012-3-31 14:47 | 只看该作者
疯狂的顶!

使用特权

评论回复
24
putron09| | 2012-3-31 14:48 | 只看该作者
谢谢楼主的分享

使用特权

评论回复
25
hexuguang| | 2012-4-8 22:57 | 只看该作者
脱裤子放屁!

使用特权

评论回复
26
SampsonKong| | 2012-4-10 16:50 | 只看该作者
学习下

使用特权

评论回复
27
秋天落叶| | 2012-4-10 18:31 | 只看该作者
很好用的代码,多谢分享

使用特权

评论回复
28
qjb129| | 2012-5-24 23:40 | 只看该作者
谢谢楼主分享,正在学习这个

使用特权

评论回复
29
airwill| | 2012-5-25 10:46 | 只看该作者
这么多人附和哪?
我觉得这个方案有缺陷
1. 用 DMA 是多余的, 接收和定时中断就足够了. 这条还不算缺陷
2. 接收超时功能, 由于协议的数据长度不确定, 设定超时的最长时间却是固定的, 这显然不合理! 导致的结果是一方面总线利用率低下(因为超时不可能太短, 数据包之间又要分割) 长数据包有可能被错误的分割成两个包, 导致通信失败!
所以这个方案还不能作为通信方案参考.

使用特权

评论回复
30
EAMCU| | 2012-5-25 11:54 | 只看该作者
29# airwill

请问你有没有比较好的方案?
采用IDLE中断来判断?

使用特权

评论回复
31
airwill| | 2012-5-25 12:10 | 只看该作者
比较好的方案?
还是看根据要求怎么确定一个合适的通信协议吧.

使用特权

评论回复
32
pkat| | 2012-5-25 15:23 | 只看该作者
不错的源代码,多谢分享

使用特权

评论回复
33
txcy| | 2012-5-25 15:48 | 只看该作者
LZ这资料相当给力啊,多谢共享

使用特权

评论回复
34
pattywu| | 2012-5-25 18:01 | 只看该作者
远远比不过DMA+USART的空闲中断。

使用特权

评论回复
35
pattywu| | 2012-5-25 18:02 | 只看该作者
使用定时器来搞自适应波特率还差不多。

使用特权

评论回复
36
gxgclg| | 2012-5-25 23:10 | 只看该作者
很好的方案

使用特权

评论回复
37
行不改名| | 2012-5-26 12:19 | 只看该作者
这个必须要顶

使用特权

评论回复
38
qiu0305| | 2012-11-22 11:43 | 只看该作者
可以发给我一份吗?

使用特权

评论回复
39
xyxujinlong| | 2013-3-21 11:57 | 只看该作者
顶一下,正在搞这个

使用特权

评论回复
40
Adams5001| | 2013-5-30 22:47 | 只看该作者
学习学习

使用特权

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

本版积分规则