| 这个我懂了,看了眼接到数的时候D寄存器里就会有显示,但是把这个数赋值给C又有什么用呢?
 而且我在串口初始化之后加上了
 UART0_C2|=UART_C2_RIE_MASK;
 UART4_C2|=UART_C2_RIE_MASK;
 UART5_C2|=UART_C2_RIE_MASK;
 在主函数前面也加上了三个串口的中断服务函数:
 /*UART0*/
 static volatile unsigned char c;
 void UART0_RX_TX_IRQHandler(void)
 {
 //  UART_DRV_IRQHandler(0);
 if (UART0_S1&UART_S1_RDRF_MASK)
 {
 c = UART0_D;
 
 }
 }
 /*UART4*/
 static volatile unsigned char c4;
 void UART4_RX_TX_IRQHandler(void)
 {
 //  UART_DRV_IRQHandler(0);
 if (UART4_S1&UART_S1_RDRF_MASK)
 {
 c4 = UART4_D;
 
 }
 }
 /*UART5*/
 static volatile unsigned char c5;
 void UART5_RX_TX_IRQHandler(void)
 {
 //  UART_DRV_IRQHandler(0);
 if (UART5_S1&UART_S1_RDRF_MASK)
 {
 c5 = UART5_D;
 
 }
 }
 然后从串口4和5手动发数据,从串口0,也就是USB那根线连在电脑上的串口助手调试,仍然不能做到预期效果,即做不到某个串口收到数据后在屏幕上显示。
 请问我以上贴的修改的代码哪里出问题了么?而且我发现D寄存器明明收到数据,但是receiveBuff里却没有东西的情况,请问该怎么解决?
 |