cc2530使用Z-Stack配置串口收发数据之参数的配置(1)

这个是自己第一次接触Zigbee无线传输协议
以下是自己对Z-Stack控制cc2530串口的一些笔记

协议栈提供了
串口0的备选引脚1的使用和
串口1 的备选引脚2的使用

用户对协议栈的串口进行操作,TI把很多初始化的工作封装在了MT层
下面为串口的初始化讲解

void MT_UartInit ()
{
halUARTCfg_t uartConfig;

/* Initialize APP ID */
App_TaskID = 0;

/* UART Configuration */
uartConfig.configured = TRUE;//使用串口的时候为TRUE
uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE;//设置波特率
uartConfig.flowControl = MT_UART_DEFAULT_OVERFLOW;
uartConfig.flowControlThreshold = MT_UART_DEFAULT_THRESHOLD;
uartConfig.rx.maxBufSize = MT_UART_DEFAULT_MAX_RX_BUFF;//发送缓冲区最大值
uartConfig.tx.maxBufSize = MT_UART_DEFAULT_MAX_TX_BUFF;//接收缓冲区最大值
uartConfig.idleTimeout = MT_UART_DEFAULT_IDLE_TIMEOUT;
uartConfig.intEnable = TRUE;

#if defined (ZTOOL_P1) || defined (ZTOOL_P2)//如果定义了宏ZTOOL_P1或者ZTOOL_P2
//使用回调函数MT_UartProcessZToolData作为串口的接收函数
uartConfig.callBackFunc = MT_UartProcessZToolData;
#elif defined (ZAPP_P1) || defined (ZAPP_P2)
uartConfig.callBackFunc = MT_UartProcessZAppData;
#else
uartConfig.callBackFunc = NULL;
#endif

/* Start UART /
#if defined (MT_UART_DEFAULT_PORT)//根据宏定义开关判断打开串口0还是串口1
HalUARTOpen (MT_UART_DEFAULT_PORT, &uartConfig);//串口的初始化函数,参数为串口号和uartConfig地址
#else
/
Silence IAR compiler warning */
(void)uartConfig;
#endif

/* Initialize for ZApp /
#if defined (ZAPP_P1) || defined (ZAPP_P2)
/
Default max bytes that ZAPP can take */
MT_UartMaxZAppBufLen = 1;
MT_UartZAppRxStatus = MT_UART_ZAPP_RX_READY;
#endif

}

继续追踪 MT_UART_DEFAULT_PORT
/* Default values */
#if defined (ZTOOL_P1) || defined (ZTOOL_P2)
#define MT_UART_DEFAULT_PORT ZTOOL_PORT
#elif defined (ZAPP_P1) || defined (ZAPP_P2)
#define MT_UART_DEFAULT_PORT ZAPP_PORT
#endif

继续追踪ZTOOL_PORT
#if defined (ZTOOL_P1)//使用串口0
#define ZTOOL_PORT HAL_UART_PORT_0
#elif defined (ZTOOL_P2)//使用串口1
#define ZTOOL_PORT HAL_UART_PORT_1
#else
#undef ZTOOL_PORT
#endif

定义宏ZTOOL_P2使用串口1
cc2530使用Z-Stack配置串口收发数据之参数的配置(1)_第1张图片
完成配置工作,接下来进行数据的接收处理

你可能感兴趣的:(Zigbee学习)