各位朋友:
我用的是dsPIC30F5013的单片机,,UART1通信编程,首先配置UART1,现在是这个程序单独的发数据,或是单独的收数据都没有问题,但是让这个程序既发发数据,又接收数据就做不到。
不知是哪里的原因?请指点一下,
下面是我初始化UART1的函数:
void InitUart1()
{
U1MODE = 0x8000; //UART enable,8位数据,无奇偶校验
U1BRG = BRGVAL; //set baud to 9600
U1STAbits.URXISEL = 0; //Interrupt after a character is received a data word
IEC0bits.U1RXIE = 1; //Enable UART Receive interrupt
U1STAbits.UTXISEL = 0; //Interrupt for every data transfer //optional
IEC0bits.U1TXIE = 1; //Enable UART Transmit interrupt //optional
U1STAbits.UTXEN = 1; //TX enable
IFS0bits.U1RXIF = 0; //clear RX interrupt flag
IFS0bits.U1TXIF = 0; //clear TX interrupt flag
}
谢谢指点! |