TI公司的ZSTACK協議棧,串口配置有個流控制選項。如果你的串口只接了RX TX GND三根線,必須關閉這個流控制,才能和協議棧串口通信,不然串口的數據發布出來。
下面是2530的串口初始化配置。 MT_UART.C里面 。Zstack 2.5.1a協議棧
void MT_UartInit ()
{
halUARTCfg_t uartConfig; /* Initialize APP ID */
App_TaskID = 0;
/* UART Configuration */
uartConfig.configured = TRUE;
uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE;
uartConfig.flowControl = FALSE ; //MT_UART_DEFAULT_OVERFLOW;硬件流控制,開了他,如果串口只接了RX TX,是不能通信的。
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)
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)
HalUARTOpen (MT_UART_DEFAULT_PORT, &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
}
|