|
请教各位前辈:我的问题是样的,pic24f16ka102 uart1 接收不到数据,当初始化uart1后,运行在没有发送数据,uart1 的接收中断就进入一次(数据为0,这个问题待解决)。我现在主要的问题是以后我发数据到uart1,不管是用查询还是中断都不能够接收到数据。 配置程序如下(发送正常):
void Uart_init()
{
mPORTBInputConfig(IOPORT_BIT_2); //U1Rx port
mPORTBOutputConfig(IOPORT_BIT_7);//U1Tx port
mPORTBOutputConfig(IOPORT_BIT_3);//max485 control port
U1BRG = 25; //9600 High speed brg 8M
// U1MODEbits.PDSEL = 0x0; //8bit no parity check
// U1MODEbits.STSEL = 0; //1 bit stop
U1MODE = 0x8000;
U1MODEbits.RTSMD = 1;
U1STAbits.UTXEN = 1; //enable transmit
// U1STAbits.URXISEL = 0x3;
_U1RXIE = 1; //enable the rx interrupt
// _U1TXIE = 1; //enable the tx interrupt
SetPriorityIntU1TX(UART_TX_INT_PR3);//set tx interrupt priority 1
SetPriorityIntU1RX(UART_RX_INT_PR2);//set rx interrupt priority 1
}
void __attribute__((__interrupt__, auto_psv)) _U1RXInterrupt(void)
{
testbuf = U1RXREG;
mPORTAToggleBits(IOPORT_BIT_4);
if(testbuf!=0)
testbuf = 0;
_U1RXIF = 0; // clear u1rx interrupt flag and return from isr
}
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|