做一个终端发送和协调器接收实验

在终端的应用层任务挂上一个11号端点,接收(协调器)模块的应用层任务挂上7号端点和8号端点,其中7号端点上有两个簇0x0001和0x0002,8号端点上只有一个簇0x0001;

发送终端上有key3和key4,key5;接收器模块有led1,led2和led3,以及一个数码管。

按键3按下使接收模块的7号端点下面的簇0x0001接收消息,使LED1取反且让数码管显示3;按键4按下使led2取反,且使数码管显示4,同理,对于按键5对应8号端点的簇0x0001使led3取反,且数码管显示5.

在前面的接收字符串和发送字符串的代码上面来修改:

先看看发送模块:

首先,把该模块设置为终端,定义11号端点,并且与应用层挂钩!进入SDApp_Init这个初始化函数里面,修改如下:SDApp_DstAddr.endPoint = 11;那么就挂钩上了。

找到按钮3被按下的位置,按下后,会发送一个数字3出去;

 SDApp_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
 SDApp_DstAddr.addr.shortAddr = 0x0000;//协调器地址
SDApp_DstAddr.endPoint = 7;//目标端点

然后调用一个发送的函数:

那么按钮3就完成了,按钮4和按钮5类似

这是我们发送函数!

协调器接收模块:

首先,选择协调器方式;然后,定义两个断点7和8,且使之与应用层挂钩,

现在已经挂钩上了,下面做处理

一旦来数据都会进入应用层事件处理函数,

然后判断,是外部来数据的消息,

然后把无线数据包传递进该函数来处理:

该数据包的数据结构

修改该函数如下:

11号信道

 

 

posted on   gary_123  阅读(1110)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示