打印

PC与单片机通信漏数据

[复制链接]
1590|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cshij2009|  楼主 | 2012-6-11 14:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
msp430f149与pc机串口通信。
单片机只是接收PC机发送过来的数据,能够正确的接收数据。
现在,我开了一个定时中断,每隔160ACLK个脉冲,产生一次中断,结果能够正确的接收数据,这说明定时中断是不是不影响接收中断函数呢?因为我能够正确接收数据。
我如果在定时中断中加上下面的程序,我接收数据就有遗漏:、
switch (k)
{
   case 1 :b =r%10;break;
   case 2 : b =(r%100)/10; break;
   case 3 : b =(r%1000)/100; break;
   case 4 : b =(r%10000)/1000; break;
    case 5: b =(r%100000)/10000; break;
    case 6 : b =(r%1000000)/100000; break;
   case 7 : b =(r%10000000)/1000000; break;
   case 8 : b =r/10000000; break;
}
如果没有上面的程序,接收的数据没有遗漏;
接收函数的中断等级比定时中断等级高。
求高手指点!!!

相关帖子

沙发
ayb_ice| | 2012-6-11 14:47 | 只看该作者
430的优先级基本是个虚的,很多MCU也是那样的,与51不同的
是不能中断的,只能在同时申请时优先响应高优先中断,但不能中断一个正在运行的中断

使用特权

评论回复
板凳
NICKY99| | 2012-6-11 15:31 | 只看该作者
将这段代码拿到中断外面试试(中断后利用标志执行),中断服务程序精短对程序有好处。

使用特权

评论回复
地板
JC.Wang| | 2012-6-12 14:33 | 只看该作者
没用过MSP430,来赚积分的飘过

使用特权

评论回复
5
cjseng| | 2012-6-12 22:10 | 只看该作者
因为你的定时中断耗费的时间太长了,比如这一句
“ case 7 : b =(r%10000000)/1000000; break;”不知道要多长时间才能算完哦。

160ACLK产生一个定时中断,频率有点高了。

使用特权

评论回复
6
wukunshan| | 2012-6-13 14:46 | 只看该作者
看一看。

使用特权

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

本版积分规则

1

主题

73

帖子

0

粉丝