| 
 
| void USART_Init(void) {
 TRISCbits.TRISC6=1; // 输出引脚   TX
 TRISCbits.TRISC7=1; //输入引脚    RX
 TXSTA1bits.TX9=0;//选择8位发送
 TXSTA1bits.SYNC=0;//异步模式
 TXSTA1bits.BRGH=1;//设置为高波特率
 TXSTA1bits.TXEN=1;//传输使能
 RCSTA1bits.RX9=0;//设置为8位接收
 RCSTA1bits.CREN=1;//设置为连续接收
 RCSTA1bits.SPEN=1;//使能串口1
 BAUDCON1bits.BRG16=1;//16位波特率发生器
 SPBRGH1=0x0;//设置波特率115200 误差-0.08%
 SPBRG1=0x8A;
 printf("USART初始化完成\n");
 }
 
 void USART_SendData(unsigned char tx_data)
 {
 TXREG1 = tx_data;
 Nop();
 while(TXSTA1bits.TRMT ==0);// loop
 }
 
 不知道为什么打印出来全是乱码的,还有怎么定义才能用printf啊,求各位大神解答。
 | 
 |