170806 通信-ZigBee协议栈串口实验

来源:互联网 发布:东华软件西安分公司 编辑:程序博客网 时间:2024/06/06 00:37

1625-5 王子昂 总结《2017年8月5日》 【连续第307天总结】
A. ZigBee协议栈串口通信
B.

串行简介

串行接口(Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一
对传输线就可以实现双向通信,从而大大降低了成本,特别适用于远距离通信,但传送速度较
慢。一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据
位的传送,按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。串行通讯的距
离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工
三种。

串口使用步骤

  串口初始化
  注册串口任务
  串口发送
修改代码的位置主要在APP文件夹下的SampleApp.c和SampleApp.h,如果增加传感器则增加相应的模块驱动到APP里,在SampleApp.c中调用即可

在SampleApp.c中初始化

  基础实验中通常是自己配置寄存器来初始化串口号、波特率等等,在hal_uart.c文件中可以找到封装好的初始化、发送和接收等函数,直接调用即可
  

MT_UartInit();设置串口参数 void MT_UartInit () { halUARTCfg_t uartConfig; /* Initialize APP ID */ App_TaskID = 0; /* UART Configuration */ uartConfig.configured = TRUE; uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE; uartConfig.flowContro l = 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; uartConf ig.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 }

其中uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE;是配置波特率,右击go to definition of可以找到MT_UART_DEFAULT_BAUDRATE的定义,将其修改为指定的即可
uartConfig.flowControl = MT_UART_DEFAULT_OVERFLOW;是配置流控,同样方法可以通过修改定义为TRUE/FALSE来改变。默认是打开流控的,注意如果只连了TX/RX2根线需要关闭流控

然后添加注册语句
MT_UartRegisterTaskID(task_id); //注册串口任务任务

最后使用即可

HalUARTWrite(0,"UartInit OK\n", sizeof("UartInit OK\n")); //串口发送

C. 明日计划
ZigBee协议栈

原创粉丝点击