PIC32MX控制器UART1接收不工作
我正在使用PIC32MX350F128L。uart1的引脚22用于(TX),引脚20用于(RX)。我可以发送一个字符,但不能接收任何字符。下面是附加的代码 请看一下代码并提出一些修改建议PIC32MX控制器UART1接收不工作,c,embedded,uart,microchip,pic32,C,Embedded,Uart,Microchip,Pic32,我正在使用PIC32MX350F128L。uart1的引脚22用于(TX),引脚20用于(RX)。我可以发送一个字符,但不能接收任何字符。下面是附加的代码 请看一下代码并提出一些修改建议 void init_uart(); void UART1PutChar(unsigned char Ch); char SerialReceive_1(); void main() { char res; OSCCON=0x00002200; //ask settings clock
void init_uart();
void UART1PutChar(unsigned char Ch);
char SerialReceive_1();
void main()
{
char res;
OSCCON=0x00002200; //ask settings clock
ANSELBbits.ANSB3 = 0;
ANSELBbits.ANSB5 = 0;
TRISCbits.TRISC3 = 0;
TRISCbits.TRISC4 = 0;
PORTCbits.RC3 = 1;
PORTCbits.RC4 = 1;
TRISBbits.TRISB3 = 0; //in controler tx
TRISBbits.TRISB5 = 1; // in controller RX
U1RXR=0x08;
RPB3R=0x03;
init_uart() ;
UART1PutChar('T');
while(1)
{
res = SerialReceive_1();
UART1PutChar(res);
}
}
void init_uart()
{
U1MODEbits.ON =1;
U1BRG = 25;
U1STA=0x1400;
IFS1bits.U1RXIF = 0;
IFS1bits.U1TXIF = 0 ;
return;
}
void UART1PutChar(unsigned char Ch)
{
while(U1STAbits.UTXBF == 1);
U1TXREG=Ch;
return ;
}
char SerialReceive_1()
{
char buf1;
while(!U1STAbits.URXDA);
buf1 = U1RXREG;
return buf1;
}
考虑到所以没有调试服务!看一看,你们可以找到所有在PIC微控制器上启用UART的标志。尽可能多地使用符号常量。(对于pps和位寄存器)或设置单个命名位。