码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-08-01 19:10:53      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

在终端的应用层任务挂上一个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,且使之与应用层挂钩,

技术分享

技术分享

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

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

然后判断,是外部来数据的消息,技术分享

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

技术分享

该数据包的数据结构

技术分享

技术分享

修改该函数如下:

技术分享

技术分享

 

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

标签:

原文地址:http://www.cnblogs.com/gary-guo/p/5726932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!