进不去接收中断,请大神看看我的串口配置有没有问题,对照手册看了好几遍,没发现错误
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;
}
此帖出自
小平头技术问答
一周热门 更多>