|
在我們的協議棧實驗文件夾下面找到協議棧中串口基礎實驗,
具體路徑《協議棧實驗\2.協議棧中串口基礎實驗\ZStack-CC2530-
2.3.0-1.4.0\Projects\zstack\Samples\SampleApp\CC2530DB》,雙
擊
類型為 IAR IDE WorkSpace 的文件進入程序中。
本實驗使用串口的步驟是:
(1) 串口初始化;
(2) 登記任務號;
(3) 執行任務;
下面是具體步驟:
串口初始化相信大家很熟悉,就是配置串口號、波特率、校驗位、
數 據位、停止位等等。在基礎實驗我們都是配置好寄存器然后
使用。現在我們在 workspace 下找到176
HAL\Target\CC2530EB\drivers 的 hal_uart.c 文件,我們可以看
到里面已經包括了串口初始化、發送、接收等函數,全都封裝好
了;我們只需根據自己需要修改相關配置,調用相應的接口函數
就,可使用串口了。
其具體初始化函數如下:
void MT_UartInit ()
{
halUARTCfg_t uartConfig;177
/* Initialize APP ID */
App_TaskID = 0;
/* UART Configuration */
uartConfig.configured = 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)
uartConfig.callBackFunc = MT_UartProcessZToolData;
#elif defined (ZAPP_P1) || defined (ZAPP_P2)
uartConfig.callBackFunc = MT_UartProcessZAppData;178
#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
}179
修改完配置參數之后,我們在 SampleApp_Init( uint8 task_id )函
數調用配置好的 MT_UartIn it ()函數;然后,記得在
SampleApp.c 文件開頭的地方將圖所示的頭文件 include 進去。
用戶自己添加的應用任務程序在 Zstack 中的調用過程是:
main() ---> osal_init_system()---> osalInitTasks()--->
SampleApp_Init()
下面是具體函數:
void SampleApp_Init( uint8 task_id )
{
SampleApp_TaskID = task_id;
SampleApp_NwkState = DEV_INIT;
SampleApp_TransID = 0;
MT_UartInit();//串口初始化
MT_UartRegisterTaskID(task_id);//串口登記任務號
}180
緊接著 MT_UartRegisterTaskID(task_id)函數,在其后面添加
函數 HalUARTWrite(0,"UartInit OK\n", sizeof("UartInit OK\n")),
也就是讓系統執行這個任務了。至此,代碼修改完畢。
|
-
-
串口調試助手.rar
2019-5-10 10:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
389.45 KB, 下載次數: 10, 下載積分: 黑幣 -5
|