打印
[应用相关]

关于USART又一问

[复制链接]
2037|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
古道122|  楼主 | 2008-9-9 17:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用USART通信时,发送6个byte的数据,能够正常接受。其中有一个设置长度的变量设置成了6。
现在把这个长度变成了5,然后发送了6个数据,这时,应该输出为长度错误的信息,但是现在输出的却是一组随机数,寻找原因是由于接收的6个byte的数据,只接受了5个,所以导致最后一个与发送的错误信息冲突了,所以发送错误了。
在接收结束之前,用一个delay,把数据全部接收了,这样就正确了。但是这只是目前的方法,不太实用。
想问一下,是不是有什么标志可以用来判断是否全部数据发送结束的信号的吗?
试了一下IDLE和ORE,都没有效果- -!
沙发
香水城| | 2008-9-9 22:29 | 只看该作者

晕,这个发送数目控制是你的软件要做的事情,哪里有什么

除非使用DMA。

使用特权

评论回复
板凳
古道122|  楼主 | 2008-9-10 08:05 | 只看该作者

不是要数目的控制

而是如果接收不完全的话,有没有什么标志可以查看的。现在如果长度过长的话是没问题的,使用timeout就可以了,但是如果长度变短的话,那就需要有回信了。确实,使用DMA不失为一个方法,但是难道以后用其他产品的时候也一直去考虑DMA?

使用特权

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

本版积分规则

84

主题

381

帖子

1

粉丝