英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3472|回复: 1
打印 上一主题 下一主题

RCIF没读为何自动清零?

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-26 10:54:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RCIF没读为何自动清零?是picmate2002 v3.3的问题吗?
问题如下,请您解答。我用的是picmate2002  v3.3  ht-tech c 8.05pl
在接收中断中,为什么只要运行任何一个语句,RCIF即变为“0”?
但T1中断,TMR1IF不会这样,是正常的。

void interrupt Service(void)
{
   uchar rcdata;
   uchar rccs;
   
   rcdata=2;              //如果异步接收中断,运行到此句RCIF仍为1, 正常。
                                //但此句运行完后,RCIF马上为0,不正常。什么原因呢?
   
   if(TMR1IF)  
  {
          rccs=0;  
         TMR1IF=0;    //如果T1中断,运行到此句,TMR1IF为1,正常。
                                //此句运行完后,TMR1IF为0,正常。
   }


   if(RCIF)
   {
          rccs=RCREG;
   }
}
2#
 楼主| 发表于 2009-4-26 10:54:51 | 只看该作者
仿真器bug还是有的
跟我的问题比较像啊,用picamate2004快半年了,感觉bug真多,用的太不爽了,那几个常见的找不到设备的错误提示就不提了。需要经常开关电源,插拔接口。

        所以我现在遇到问题就会怀疑到底是自己程序的问题还是仿真器的问题,有些程序第一次运行不正确,也许你把那些插头重新拔下来接一遍就好了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-5-2 07:18 , Processed in 0.051435 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表