zigbee学习心得——实例分析(温湿采集及控制)

网易新闻微博邮箱相册阅读有道摄影爱拍优惠券云笔记闪电邮手机邮印像派网易识字更多博客手机博客博客搬家博客VIP服务LiveWriter写博word写博邮件写博短信写博群博客博客油菜地博客话题博客热点博客圈子找朋友发现小组风格网易真人搭配社区iStyle网易真人搭配社区iStyle网易真人搭配社区iStyle玩摄影,玩LOFTER玩胶片,玩LOFTER玩绘画,玩LOFTER创建博客登录加关注显示下一条|关闭温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》|关闭豪醒的博客不只是一个人的旅程导航首页日志相册博友关于我日志zigbee学习心得2——协议栈任务---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---Fork-VFork一张图说明区别zigbee学习心得——实例分析(温湿度采集及控制)2012-08-0516:58:58|分类:zigbee|标签:cc2430zigbee温湿度cc2430|字号大中小订阅就像这样,先添加于温湿度传感器相关的.c和.h文件,还有串口相关的,c和.h也就是写好可以给另外的文件调用的函数了。我这里面只用到了voidwenshi_receive(void);一个函数,然后将函数和其中所用到的两个变量TH,RH,分别代表温度和湿度设为全局变量。先打开SimpleSensor.c这个小工程,用官方程序调试的时候可以看出,也就是不断地发数据到协调器,自然就要找到与发数据相关的函数:那其实发送之前要先与协调器绑定吧,好比打电话也要先拨通电话吧。找到与绑定相关的函数:voidzb_BindConfirm(uint16commandId,uint8status){if((status==ZB_SUCCESS)(myAppState==APP_START)){myAppState=APP_BOUND;//StartreportingsensorvaluesmyApp_StartReporting();}else{//Continuetodiscoveracollectorosal_start_timerEx(sapi_TaskID,MY_FIND_COLLECTOR_EVT,myBindRetryDelay);---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---}}直接点,若绑定成功,就会返回一个ZB_SUCCESS的状态,此时方会调用myApp_StartReporting();函数,否则就继续搜索节点。对于myApp_StartReporting();:voidmyApp_StartReporting(void){osal_start_timerEx(sapi_TaskID,MY_REPORT_TEMP_EVT,myTempReportPeriod);osal_start_timerEx(sapi_TaskID,MY_REPORT_BATT_EVT,myBatteryCheckPeriod);HalLedSet(HAL_LED_1,HAL_LED_MODE_ON);}直观地从函数看上去也就相当于添加一个周期性的任务;从上一篇文章讲过这个TaskID的问题,也就添加一个任务嘛,回到整个工程的主函数,看看怎么回事,这里面就不详细地列出来了,有需要的读者可以一探究竟。过程是这样的:主函数:ZSEGintmain(void)——/*系统初始化*/osal_init_system();——osalInitTasks();/*任务初始化*/——SAPI_Init(taskID);/*用户自定义任务函数,他的任务ID为taskID*/?——/*其中的一个等式*/sapi_TaskID=task_id;也就是说可以通过osal_start_timerEx添加一个周期性的任务,其周期为XXXPeriod,比如片内温度采集:myTempReportPeriod,电压测量myBatteryCheckPeriod,那XXXEVT,也就相当于一个任务Task里面一个独立的事件Event了。那么我们也可以这么添加自己的事件:再看看XXXEVT和XXXPeriod的定义://Applicationosaleventidentifiers//Bitmaskofevents(from0x0000to0x00FF)#defineMY_START_EVT0x0001#defineMY_REPORT_TEMP_EVT0x0002#defineMY_REPORT_BATT_EVT0x0004#defineMY_FIND_COLLECTOR_EVT0x0008自己跟着做:#defineMY_REPORT_WENDU_EVT0x0010#defineMY_REPORT_SHIDU_EVT0x0020这里说一下为什么要这么做因为等下调用任务处理函数zb_HandleOsalEvent();的时候判断语句是这种形式的:if(eventMY_REPORT_TEMP_EVT)按位与,所以..顺便说一下,我最初做这个东西看漏了这条语句,传输过程会突然断开连接,这个bug搞了我十多天。。---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---周期时间:(对照范例)staticuint16myStartRetryDelay=10000;//millisecondsstaticuint16myTempReportPeriod=5000;//milliseconds添加:staticuint16myWENDUReportPeriod=6000;//millisecondsstat...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?