发 帖  
原厂入驻New

[经验] 【大联大世平NXP KE16Z 开发板试用体验】+ 2、串口0复用

2020-8-29 22:29:37  74
分享
0
    使用KE16Z开发板串口0复用功能。

    一、硬件方面


   1.1、KE16芯片串口0复用的有两个地方,第一个PA2,PA3,另一个是PB0和PB1。
    01.png
    1.2、复用功能

    1.2.1、PA2和PA3复用到ALT6上
    02.png

    1.2.2、PB0和PB1复用到ALT2上
    03.png

    二、程序部分

    在使用复用串口时,切换相应的端口即可实现两路串口分时传输

    2.1、端口复用切换的代码:
  1. void Uart0_Chl(uint8_t ch)
  2. {
  3.         switch (ch)
  4.   {
  5.           case debug_UART:
  6.                         clock_EnableClock(kCLOCK_PortB);
  7.                         PORT_SetPinMux(DEBUG_UART_RX_PORT, DEBUG_UART_RX_PIN, kPORT_MuxAlt2);
  8.                         PORT_SetPinMux(DEBUG_UART_TX_PORT, DEBUG_UART_TX_PIN, kPORT_MuxAlt2);  
  9.                         PORT_SetPinMux(ANDUINO_UART_RX_PORT, ANDUINO_UART_RX_PIN, kPORT_MuxAsGpio);
  10.                         PORT_SetPinMux(ANDUINO_UART_TX_PORT, ANDUINO_UART_TX_PIN, kPORT_MuxAsGpio);
  11.                   break;
  12.           case ANDUINO_UART:
  13.                         CLOCK_EnableClock(kCLOCK_PortA);
  14.                         PORT_SetPinMux(ANDUINO_UART_RX_PORT, ANDUINO_UART_RX_PIN, kPORT_MuxAlt6);
  15.                         PORT_SetPinMux(ANDUINO_UART_TX_PORT, ANDUINO_UART_TX_PIN, kPORT_MuxAlt6);
  16.                         PORT_SetPinMux(DEBUG_UART_RX_PORT, DEBUG_UART_RX_PIN, kPORT_MuxAsGpio);
  17.                         PORT_SetPinMux(DEBUG_UART_TX_PORT, DEBUG_UART_TX_PIN, kPORT_MuxAsGpio);
  18.                   break;
  19.           default:
  20.                   break;
  21.   }  
  22. }
复制代码
      2.2、main.c
  1. int main(void)
  2. {
  3.         uint8_t txcnt=0;
  4.         uint8_t txdat[8];
  5.         Init_LED();       
  6.         BOARD_BootClockRUN();
  7.         Init_UART0();
  8.         Init_CAN();
  9.         systick_config();
  10.          
  11.         while (1)
  12.         {
  13.                 delay_1ms(100U);
  14.                 LED_RED_TOG();
  15.                 Uart0_SendDatChl(DEBUG_UART , 0x55);
  16.                 Uart0_SendDatChl(ANDUINO_UART , 0xaa);
  17.         }
  18. }
复制代码


   三、测试结果

   串口0复用实现双串口。
    04.png

只有小组成员才能发言,加入小组>>

85个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表