基础实验
基于协议栈的串口基础实验
-
协调器与路由器的选择,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),避免串口内容展示时出现乱码
- 编译、烧写、打开串口,收到"hello today"。
进阶实验
基于协议栈的串口进阶实验
在基础实验上继续修改
MT_UART.c中定义变量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