Z-STACK在CC2530上同時使用兩個串口


定義:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM