微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > PIC16F877A的串口及捕获问题

PIC16F877A的串口及捕获问题

时间:10-02 整理:3721RD 点击:
想通过这段中断程序来控制定时器1的捕获,但是发现只能接收一次串口的指令,不知道哪里有问题,还望大神指点一下~
oid interrupt usart(void)
{   
    if(RCIE&&RCIF)            //判断是否为串口接收中断
    {  
       RD0=!RD0;
       stage4=stage3;
       stage3=RCREG;
       if((stage4==0XFE)&&(stage3==0X68))
       {  begin=1;j=0;  }
       if(begin==1)
       {  
          receive[j++]=stage3;
          if((receive[j-1]==0X16)&&(j==9))
          {  begin=0;j=0;
             data=receive[3];
             if((receive[1]==0x13)&&(receive[3]==0x01))
               ccpint();      
             if((receive[1]==0X13)&&(receive[3]==0x00))
               PIE1=0x00;
          }
          if(j==20)
          {   j=0;  begin=0;}
          }}
      if(CCP1IF==1)
      {   CCP1IF=0;
          counter++;
          RD4=!RD4;
          TXREG=counter;
}   
}

其中从串口发过来的指令是FE 68 13 68 01 00 00 00 00 16,关键指令就在第五位上。

学习中,多谢分享。

额,这个略有问题,我还等着大神来帮我呢~

这个论坛怎么就没人帮忙的,看来完事还得靠自己啊~

万事得靠自己呀~

自己的问题真的得自己动手,顺利解决,并没有想象中的那么难嘛~

顶!d=====( ̄▽ ̄*)b

下次发代码  最好把注释写上  都不知道你要实现什么功能  怎么分析
另外:看别人代码 很痛苦的

不错,过来看看,浏览一下。

谢谢,小编提供的场地。
MICROCHIP 原装正品,另有可替换单片机(无需修改PCB资料,程序可共用PIC的) 有用到的兄弟多多支持!  电话13430885511(微信同号),QQ2355910801

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top