请教串口问题

[复制链接]
2774|7
 楼主| xutao1 发表于 2009-8-30 21:18 | 显示全部楼层 |阅读模式
串口使用中可能出现的问题:
使用中断方式进行串口通信,如果正在进行数据传输,如果中断被更高的优先级中断,此时会不会丢失数据呀?
同样,查询方式下,如果正在进行数据传输而被中断,结果怎样呢?
本文来自: 电子工程师之家http://www.eehome.cn
一级菜鸟 发表于 2009-8-30 21:19 | 显示全部楼层
1、在下一个数据被完整的接收之前如果能返回串口中断对本次接收的数据进行保存,不会丢。
2、同上
NE5532 发表于 2009-8-30 21:39 | 显示全部楼层
硬件串口一般是双缓冲区的,只要软件的服务时间小于1个数据帧长度就可以了,例如9600时候就是1mS。
woshiwml 发表于 2009-9-2 12:04 | 显示全部楼层
更高优先级中断发生的时候,必须当前执行的中断结束之后,这个高优先级中断才被处理
宇容创行 发表于 2009-9-2 12:11 | 显示全部楼层
有可能丢失,所以有的单片机有相关标志位
GZSH 发表于 2009-9-3 00:39 | 显示全部楼层
有可能丢失,所以有的单片机有相关标志位


支持LS!
xwj 发表于 2009-9-3 00:50 | 显示全部楼层
只要中断时间小于一个字节的接受实践(1mS),软件的服务时间小于1个数据帧长度(字节数*1mS),就肯定不会丢失。

否则,则明显是你的设计失误(中断占用1mS以上的话,肯定得打PP!)
s46410864 发表于 2009-9-3 11:47 | 显示全部楼层
数据不会丢失,被打断之后,串行口的缓冲中还是有数据.打断回来之后继续串行口中断,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

47

帖子

0

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