当前位置:首页 > 物联网学习笔记 > 正文

zstack协议栈中如何使用串口收发

首先修改MT_UART.c这个文件,这里面有个串口初始化的函数void MT_UartInit ()
uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE; //波特率修改
uartConfig.flowControl = MT_UART_DEFAULT_OVERFLOW;//流控制
注意:串口流控制要关闭,在头文件MT_UART.h中
#define MT_UART_DEFAULT_OVERFLOW FALSE

我们以GenericAPP这个实验为例,在GenericAPP.c中把串口头文件#include “MT_UART.h”加上去,然后在void GenericApp_Init( uint8 task_id )函数中把串口初始化添加进去,然后在登记串口的任务号,如下:
void GenericApp_Init( uint8 task_id )
{
GenericApp_TaskID = task_id;
GenericApp_NwkState = DEV_INIT;
GenericApp_TransID = 0;

MT_UartInit ();//串口初始化
MT_UartRegisterTaskID( task_id );//登记串口任务
……………………………………省略
}

接下来就可以使用串口功能了在你想调用的地方,收发的函数在hal_uart.c中,例如:
HalUARTWrite(0, “Hello”, 6); //串口发送
HalUARTRead(0, buffer, 1) //串口接收

最后编译的时候别忘了要添加一个预编译,右击工程点击option在c/c++ compiler,在preprocesser选项卡Ddfine symbols:中加入ZTOOL_P1,如果已经有了xZTOOL_P1,要把前面的X去掉,这个预编译,根据预先定义的 ZTOOL 或者 ZAPP 选择不同的数据处理函数。后面的 P1 和 P2 则是串口0和串口1。我们用 ZTOOL,串口0。

标签:
上一篇: 下一篇:

报歉!评论已关闭。