定義:
1、同時使用兩個串口必須要一個為DMA,一個為ISR
2、我們這里使用串口1(DMA)來和別的設備進行通訊,使用 2(ISR)來和Z-TOOL進行通訊,方便調試
HAL_UART=TRUE
ZTOOL_P2
HAL_UART_DMA=1
HAL_UART_ISR = 2
3、和Z-TOOL相關的串口初始化和中斷系統已經定義好了,現在只需要定義一下 我們自己使用的串口就可以了
halUARTCfg_t uartConfig;
uartConfig.configured = TRUE;
uartConfig.baudRate = HAL_UART_BR_115200;
uartConfig.flowControl= FALSE;
uartConfig.flowControlThreshold = 5;
uartConfig.rx.maxBufSize = MT_UART_RX_BUFF_MAX;
uartConfig.tx.maxBufSize = MT_UART_RX_BUFF_MAX;
uartConfig.idleTimeout = 6;
uartConfig.callBackFunc= rxCB;
HalUARTOpen(0, &uartConfig);
還需要一個rxCB的回調函數
static void rxCB(uint8 port, uint8 event)
{
//根據自己的應用補充
}
4、至此兩個串口均可以正常使用,使用Z-TOOL功能相關功能,則在IAR中定義如下宏:
MT_TASK
MT_SYS_FUNC
MT_AF_FUNC
MT_AF_CB_FUNC
MT_APP_FUNC
MT_DEBUG_FUNC
MT_NWK_FUNC
MT_NWK_CB_FUNC
MT_UTIL_FUNC
xMT_MAC_FUNC
MT_ZDO_FUNC
MT_ZDO_MGMT
MT_ZDO_CB_FUNC
