物联网实训Day06 - Zstack基础实验+进阶实验

基础实验

  • 基于协议栈的串口基础实验

  • 协调器与路由器的选择,1个协调器、多个路由器


    协调器和路由器选择
  • 信道选择,选择哪个信道就取消哪个信道的注释

信道选择
  • 找到函数MT_UartInit ()函数,修改波特率和流控制:分别选中MT_UART_DEFAULT_BAUDRATE和MT_UART_DEFAULT_OVERFLOW


    MT_UartInit ()函数
  • 右键,点击go to defination,如图
    go to defination
  • 点击后进入MT_UART.h,修改波特率为115200,流控制设为FALSE


    修改
  • SampleAPP.c中加入"MT_UART.h"和"hal_uart.h"头文件(注意顺序)


    头文件
  • SampleApp_Init()函数中加入串口初始化和串口登记任务号函数


    加入串口初始化和串口登记任务号函数
  • SampleApp_ProcessEvent()函数中加入发送信息


    加入HalUARTWrite()函数
  • 打开options


    options
  • options修改(MT和LCD前面加x),避免串口内容展示时出现乱码

options修改
  • 编译、烧写、打开串口,收到"hello today"。

进阶实验

  • 基于协议栈的串口进阶实验

  • 在基础实验上继续修改

  • MT_UART.c中定义变量rxData

变量rxData定义
  • 修改函数MT_UartProcessZToolData(),


    MT_UartProcessZToolData()函数修改
  • SampleAPP.c中,加入rxData定义


    rxData定义
  • SampleApp_ProcessEvent()函数中加入HalUARTWrite(0, &rxData, 1);

    SampleApp_ProcessEvent()

  • SampleApp_ProcessEvent()函数中加入发送函数


    加入发送函数
  • 修改SampleApp_SendPeriodicMessage()函数


    SampleApp_SendPeriodicMessage()
  • 编译、烧写,打开串口

覆盖问题

  • 比如发送"abc",会收到"ccc"。

  • 解决:

  • 在MT_UART.c中,修改rxData为128位的数组,index用于标识rxData的具体位置。


    修改
  • 在SampleAPP.c中的MT_UartProcessZToolData()函数中,


    修改
  • SampleApp_ProcessEvent()函数中加入一个case


    加入case

————————————————
版权声明:本文为CSDN博主「路灯谣」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lululumiao/article/details/118673888

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容