PIC16单片机的中断问题 5

PIC16的中断都只有一个入口.也没有优先级别,我要求串口随时接收数据,但是恰好处理定时器中断时串口数据来了,是不是就接收不到了呢?或者是接收到的不是完整的数据了呢,该怎... PIC16的中断都只有一个入口.也没有优先级别,我要求串口随时接收数据,但是恰好处理定时器中断时串口数据来了,是不是就接收不到了呢?或者是接收到的不是完整的数据了呢,该怎么解决这样的问题啊?急急急,只有5分了全悬出来了 展开
 我来答
尚云社
2012-09-23 · TA获得超过392个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:282万
展开全部
可以接收的,不过要在定时中断处理完成之后才能处理。解决的办法就是将中断处理函数时间缩短,尽量将一些复杂的运算放到主函数中处理,还有就是将波特率设置低一点,这样接收一个数据的时间就会长些。另外就是PIC16的串口是双缓冲接收/发送的,接收的时候RCREG寄存器可以存放两个接收到的数据,同时接收移位寄存器RSR可以处于第3个数据的接收状态,只要在第3个数据接收完成前读取RCREG就不会发生溢出。可以在接收中断时判断接收溢出标志位OERR是否置位,如果溢出,则先清除该位(连续读两次RCREG,并置位CREN),再通知主机重复发送数据
zhxiufan
2012-09-23 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38386
国家科技进步奖

向TA提问 私信TA
展开全部
这期间如果不是连续来两个串口数据的话,是不会丢失数据的,串口这时处于等待状态,一旦定时器中断完成后,再次进入中断就会处理串口数据,当然为了保证串口,可以将其优先级设为最高,所谓最高就是进入中断服务程序后第一个判断串口标志了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式