|
TI公司的ZSTACK協(xié)議棧,串口配置有個(gè)流控制選項(xiàng)。如果你的串口只接了RX TX GND三根線,必須關(guān)閉這個(gè)流控制,才能和協(xié)議棧串口通信,不然串口的數(shù)據(jù)發(fā)布出來。
下面是2530的串口初始化配置。 MT_UART.C里面 。Zstack 2.5.1a協(xié)議棧
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; //上面關(guān)閉后,他自動(dòng)失效。關(guān)閉流控制,才能兩線通信。
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
}
|
|