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

posted @ 2017-01-04 15:15  小健V5  阅读(2383)  评论(0编辑  收藏  举报