Jennic-WSN专业综合训练文档-基础通信实验3_第1页
Jennic-WSN专业综合训练文档-基础通信实验3_第2页
Jennic-WSN专业综合训练文档-基础通信实验3_第3页
Jennic-WSN专业综合训练文档-基础通信实验3_第4页
Jennic-WSN专业综合训练文档-基础通信实验3_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四、基本实验1.新建coordinator工程,将如下给定代码添加到coordinator工程程序框架中,并给予注释, 然后编译、下载、运行。/include files#include <ledcontrol.h>#includc <button.h>include hwsn_profile.hh/macro definitions#define app_tick_period_ms500/local function prototypesprivate void vlnit(void);private void vapptick(void *pvmsg, uint8

2、 u8param);private void vsenddata(uint8 data);private void vadddcsc(void);/local variablesprivate bool_t bnwkstarted = false;private boolt ncxtrcadstart = true ;private uin(16 dstaddress = 0 ;public void appcoldstart(void)jzs_sconfig.u32channel = wsn_channel; jzs_sconfig.ul6panid = wsn_pan_id;vlnit()

3、;1private void vlnit(void)jzs_u32initsystem(true); vledlnitffdo;/led 的初始化vledcontrol(0,true); vledcontrol(l .true); vlcdcontrol(2,false); vledcontrol(3,false);vbuttonlnitffdo;/按键的初始化vahlhighpowermoduleenable (true, true);(void)bbosrun(true); /bos 可以工作private void vapptick(void *pvmsg. uint8 u8param)

4、 nextreadstart = true;使按键有效private void vsenddata(uint8 data)af_transaction_s astransaction;astransaction.ussequencenum = u8afgettransactionsequence(true);/msg 数据帧的序列号传输数据的长度为1astransaction.uframe.smsg.au8transactiondata0 = data;(void)afdedatarequest(aps_addrmode_shortdstaddrcss,/直接发送模式发送的目标地址wsn da

5、ta sink endpoint,mmmmmm目标地址端口号wsn_data_source_endpoint, 源地址端口号wsn_profile_id,釆用的 profile idwsn_cid_sensor_readings、/* cluster id */af_msg1,& astransaction,aps_txoption_none,/* frame type */请求发送数据事务的数量存放需要发送的数据没冇任何选项suppress_route_discovery, 强制路山发现模式0);采用2倍的maxdepth发送深度void jza_vappeventhandler(v

6、oid) uint8 u8msg;uinl8 ustimerld;if (jbnwkstartcd) return;讦(u8buttonreadffd() = button_()_mask)if (dstaddress && nex(reads【art)vsenddata(2);nextreadstart = false;(void)bboscreatetimer(vapptick, &u8msg, 0, (app_tick_period_ms/10), &ustimerld);)public bool_t jza_bafmsgobject(aps_addrmo

7、de_e eaddrmode,uintl6 u16addrsrc,uint8 u8srceruint8 u8lqi,uints usdsteruint8 u8clustcrid,uint8 *pu8clusteridrsp,af_transaction_s *putransactionlnd,af_transaction_s putransactionrsp) sialic bool_t btoggle = false;if (eaddrmode = aps_addrmode_short) && (u8dstep = wsn_data_sink_endpoint) / 直接发送

8、模式并且目标端口地址配对if(u8clusterid = wsn_cid_sensor_readings) /cluster id 对应if (dst address)btoggle = ! btoggle;vledcontrol( 1 .btoggle);1)return 0;)public void jza_vstackevent(tejzs_evenlidenlifier eevenlkl, tujzs_stackevcnt *pustackevcnt)if (eeventld = jzs_event_nwk_started)如果网络建立成功bnwkstartcd = true;vled

9、control(0, false); /0 灯就灭if (eeventld = jzs_event_new_node_hasoined)&&(dsladdress=0)如杲有网络加入dstaddress = pustackevent->snewnodeevent.u 16shortaddr;获取 16 位短地址vledcontrol(l, false);有网络加入后,1灯灭vadddcsc();调用 vadddcsprivate void vadddcsc()uints usinputclustercnt=1; 输入cluster数量为1uints au8inputclu

10、sterlist=wsn_cid_sensor_readings:uint8 u80utputclustercnt=1; 输出cluster数量为1uint8 ausoutputclusterlistlj = wsn_cid_sensor_readings:(void)afmeaddsimpledesc(wsn_data_sink_endpoint, /endpoint 序号wsn.profilejd,0x0000,0x00,0x00,usinputclustercnt, ausinputclustcrlist, u80utputclustercnt, ausoutputclusterlist

11、);所使用的profile id设备的id设备的版本/输入clustter数量输入cluscr数组的指针输出cl user数量指向cluster数组的指针2.新建enddevice工程,将上述给定代码添加到enddevice i程程序框架中,然后做如下 适当改动,并给予注释,然后编译、下载、运行。分别按动coordinator和enddevice的按 键sw0,观测实验现彖。/local variablesprivate bool_t bnwkjoined = false;private boolt ncxtrcadstart = true ;private void vlnit(void)中

12、的 vledcontrol(l, true)改为 vlcdc()ntrol(l,false)。private void vsenddata(uint8 da(a)中的 dstaddress 改为 0x0000。public bool_t jza_bafmsgobjcct( )'|j 的if (dstaddress)btoggle = !btoggle;vlcdcontrol(1,btoggle);)改为if (putransactio nind->uframe.smsg.au8transactiondata0=2)btoggle = ! btoggle; vledcontrol( 1,btoggle);public void jza_vappeventhandler(void)uint8 u8msg;uinl8 ustimerld;if (jbnwkjoined) return;if(u8buttonreadrfd() = button_0_mask)讦(nextreadstart)vsenddata(2);nextreadstart = false;(void)bboscrcatctimcr(vapptick, &u8msg, 0, (app_tick_period_ms/10), &u8timcrid);)public void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论