在终端的应用层任务挂上一个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,且使之与应用层挂钩,
现在已经挂钩上了,下面做处理
一旦来数据都会进入应用层事件处理函数,
然后判断,是外部来数据的消息,
然后把无线数据包传递进该函数来处理:
该数据包的数据结构
修改该函数如下:
时间: 2024-11-05 15:54:57