[应用相关] 关于USART又一问

[复制链接]
2767|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

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