winnie 发表于 2009-4-26 10:54:34

RCIF没读为何自动清零?

RCIF没读为何自动清零?是picmate2002 v3.3的问题吗?
问题如下,请您解答。我用的是picmate2002v3.3ht-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;
   }
}

winnie 发表于 2009-4-26 10:54:51

仿真器bug还是有的
跟我的问题比较像啊,用picamate2004快半年了,感觉bug真多,用的太不爽了,那几个常见的找不到设备的错误提示就不提了。需要经常开关电源,插拔接口。

      所以我现在遇到问题就会怀疑到底是自己程序的问题还是仿真器的问题,有些程序第一次运行不正确,也许你把那些插头重新拔下来接一遍就好了。
页: [1]
查看完整版本: RCIF没读为何自动清零?