英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流
标题:
[求助]PIC24串口红外通信问题???急!!
[打印本页]
作者:
min
时间:
2012-8-18 11:55
标题:
[求助]PIC24串口红外通信问题???急!!
下面是我在用串口2做红外通信时写的程序,不知为何连接收中断都进不去??
请高手帮我看看,那个地方有问题???
谢谢!!
void URTCF(void) //配置串口2,将串口2用于红外发送和接收
{
...
// IrDA Configure
RPINR19bits.U2CTSR=18; //Assign U2CTS To Pin RPI18
RPINR19bits.U2RXR=39; //Assign U2RX To Pin RPI39
RPOR12bits.RP24R=5; //Assign U2TX To Pin RP24
RPOR9bits.RP18R=6; //Assign U2RTS(BLCK2) to Pin RP18
...
}
void Uart2Init(void) //串口2初始化
{
FRxDHW=1; //设置红外相应引脚的方向
FTxDHW=0;
FHWZB=0;
U2MODE=0x3082; //use Rx and Tx only, BRGH=0, parity check = 0x01, stop bits = 1
U2BRG=0xCF; //baud rate = 1200bps
IPC7bits.U2RXIP=7; //receiver interrupt priority = 7
IPC7bits.U2TXIP=7; //send interrupt priority = 7
U2STAbits.URXISEL=0; //receive interrupt mode
U2STAbits.UTXISEL0=0;
U2STAbits.UTXISEL1=0; //send interrupt mode
U2STAbits.UTXINV=0; // enable IrDA code send convert bit
IEC1bits.U2TXIE=0; //receive interrupt enable
IEC1bits.U2RXIE=1;
U2MODEbits.UARTEN=1; //enable UART
_U2TXIF=0;
_U2RXIF=0;
U2STAbits.UTXEN=1;
flag=1;
RevcCount=0;
SendCount=0;
RNum=0;
}
void __attribute__((interrupt,no_auto_psv)) _U2TXInterrupt(void) //发送中断
{
_U2TXIF=0;
if(SendCount<TNum)
{
U2TXREG=RevcBuff[SendCount];
SendCount++;
}
else
{
CTL=0;
RevcCount=0;
RNum=0;
TNum=0;
SendCount=0;
U2STAbits.UTXEN=0;
IEC1bits.U2RXIE=1;
}
flag=1;
}
void __attribute__((interrupt,no_auto_psv)) _U2RXInterrupt(void) //接收中断
{
_U2RXIF=0;
RevcBuff[RevcCount]=U2RXREG;
data2=RevcBuff[RevcCount];
if(RevcBuff[0]==0xFE && RevcCount<7)
{
RevcCount=0;
RevcBuff[0]=0xFF;
}
if(RevcCount==9)
RNum=RevcBuff[RevcCount]+11;
else if(RevcCount==7)
{
if(RevcBuff[RevcCount]!=0x68)
{
RevcCount=0;
RNum=0;
RevcBuff[0]=0xFF;
}
}
if(RevcCount==RNum && RevcCount>9 && RevcBuff[RevcCount]==0x16)
{
flag=0;
IEC1bits.U2TXIE=1; //Send interrupt enable
IEC1bits.U2RXIE=0;
}
else if(RevcBuff[0]==0x68)
RevcCount++;
}
作者:
star
时间:
2012-8-18 14:33
中断进不去,还是查查配置吧。你的晶振是4M的吧?串口的奇偶校验这个也确认下
http://www.microchip.com/stellen ... mp;appnote=cn528001
这里有官方的协议栈,可以参考看看!
欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/)
Powered by Discuz! X3.2