APP下:

配置BD文件:


#define PADS_TCON_CONFIG            Unknown_pad_mux #define PADS_UART2_MODE             Unknown_pad_mux #define PADS_UART3_MODE             Unknown_pad_mux #define PADS_UART4_MODE             UART4_MODE(1) #define PADS_FAST_UART_MODE         Unknown_pad_mux #define PADS_3DLR_MODE              Unknown_pad_mux #define PADS_TTL_MODE            Unknown_pad_mux #define PADS_USBDRVVBUS            Unknown_pad_mux


SW_Config.h 文件 ENABLE_UART2


#ifndef ENABLE_FAVORITE_NETWORK   #if ENABLE_RIKS_TV     #define ENABLE_FAVORITE_NETWORK                 ENABLE #else     #define ENABLE_FAVORITE_NETWORK                 DISABLE   #endif #endif  #ifndef ENABLE_UART2     #define ENABLE_UART2                            ENABLE #endif  #ifndef ENABLE_ARC_CHANGE_SPDIF #define ENABLE_ARC_CHANGE_SPDIF                     DISABLE #endif  #ifndef ENABLE_SUPPORT_MM_PHOTO_4K_2K     #define ENABLE_SUPPORT_MM_PHOTO_4K_2K           DISABLE #endif


drvUartDebug.c


void MDrv_UART2_DebugInit(void) {     PrintfUart2(printf("MDrv_UART2_DebugInit()\n"));     // reset Uart variables     MS_U16 u16Res = 0x00;     g_Uart2Command.Index = 0;     g_Uart2CheckTick = 0;      uart2_debug = mdrv_uart_open(E_UART_PIU_UART0);     PrintfUart2(printf("[UART2Init]mdrv_uart_open()>>%u\n", uart2_debug));     u16Res = mdrv_uart_connect(E_UART_PORT3, E_UART_PIU_UART0);     PrintfUart2(printf("[UART2Init]mdrv_uart_connect()>>%u\n", u16Res)); ... }



测试:

drvUartDebug.c


void MDrv_UART_ExecTestCommand(void) {     switch( g_UartCommand.Buffer[_UART_CMD_INDEX1_] )     {         case 0x60:             MDrv_UART_ExecUserDefinedCommand();             break;      #if(ENABLE_UART2)       #if(ENABLE_UART2_TEST)         case 0x4B:             printf("[4B]UART2_TXD >> 12345678\n");             MDrv_UART2_TestTXD();             break;       #endif     #endif }


UART1发送测试命令:

CHAKRA3 UART2_#if

UART2接收如下:

CHAKRA3 UART2_3d_02



PM下:

drvGlobal.h


#define UART_SRC_NONE           0 #define UART_SRC_AEONR2       1 #define UART_SRC_PIUUART0    2 #define UART_SRC_PIUUART1    3  #define USE_1ST_UART                  UART_SRC_AEONR2//UART_SRC_PIUUART0//UART_SRC_PIUUART1 #define USE_2ND_UART                 UART_SRC_PIUUART0 //the 2nd uart #define USE_3RD_UART                  UART_SRC_NONE //the 3rd uart  #define USE_1ST_UART_PORT        E_UART_PORT0 #define USE_2ND_UART_PORT       E_UART_PORT2 #define USE_3RD_UART_PORT       E_UART_PORT_INVALID  #define USE_UART_BAUDRATE       115200//38400



测试:

uartdebug.c


void MDrv_UART_ExecTestCommand(void) {     U8 ucPara1;     U8 ucPara2;     U8 ucPara3;      ucPara1 = g_UartCommand.Buffer[_UART_CMD_INDEX2_];     ucPara2 = g_UartCommand.Buffer[_UART_CMD_INDEX3_];     ucPara3 = g_UartCommand.Buffer[_UART_CMD_INDEX4_];  //    printf(">> MDrv_UART_DecodeExtCommand(%x) \r\n", g_UartCommand.Buffer[_UART_CMD_INDEX1_]);      switch ( g_UartCommand.Buffer[_UART_CMD_INDEX1_] )     {         case 0x4B:             {                 MS_U8 u8TXDList[8] = {0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38};                 mdrv_uart_write(uart2_debug, u8TXDList, 8);                 printf("<Debug>222\r\n");             }             break;     } }