PIC16F1827 串口通讯

2019-03-25 19:00发布

进不去接收中断,请大神看看我的串口配置有没有问题,对照手册看了好几遍,没发现错误      

void Usart_Init()
{
    RXDTSEL=0;//0 = RX/DT的功能在RB1 上
    TXCKSEL=0;//0 = TX/CK的功能在RB2 上

    //配置8 位/ 异步、高速 / / 波特率公式 FOSC/[64 (n+1)]
    SYNC=0;//异步
    BRG16=0;//八位
    BRGH=0;//
    TXEN =1;
    TXIF=0;
    SPBRGH=0; //波特率=16M/(64(25)))=9615
    SPBRGL=25;
    SPEN=1; //使能串口
    CREN=1; //使能EUSART 的接收器电路
    TRISB1=1; //
    //TRISB2=0;
    ANSB1=ANSB2=0;
    RX9=0;  //8位
    RCIE=1; //可以串口中断
    PEIE=1;
    GIE=1;   
}

void interrupt Time0_Time2_CCP1_RC()
{

  if(RCIE==1 && RCIF==1)
  {
      RCIE=0;

      RCREG_Buf[RCREG_Cnt]=RCREG;
      Usart_Send(RCREG_Buf[RCREG_Cnt]) ;
      RCREG_Cnt++;
      if(RCREG_Cnt>19) //超过缓冲区
          RCREG_Cnt=19;
      FlagRc=1;    //通知单片机正在接收     
      RcCnt=0;
      RCIE=1;
      //CREN=1;
      RCIF=0;

  }



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。