温湿度采集学习心得.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
温湿度采集学习心得

温湿度采集学习心得 zigbee学习心得——实例分析(温湿度采集及控制) 网易 新闻 微博 邮箱 相册 阅读 有道 摄影 爱拍 优惠券 云笔记 闪电邮 手机邮 印像派 网易识字 更多 博客 手机博客 博客搬家 博客VIP服务 LiveWriter写博 word写博 邮件写博 短信写博 群博客 博客油菜地 博客话题 博客热点 博客圈子 找朋友 发现 小组 风格 网易真人搭配社区iStyle 网易真人搭配社区iStyle 网易真人搭配社区iStyle 玩摄影,玩LOFTER 玩胶片,玩LOFTER 玩绘画,玩LOFTER 创建博客 登录 加关注 错误!超链接引用无效。 | 错误!超链接引用无效。 温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》 | 错误!超链接引用无效。 豪醒的博客 不只是一个人的旅程 导航 首页 日志 相册 博友 关于我 日志 zigbee学习心得2——协议栈任务 Fork - VFork 一张图说明区别 zigbee学习心得——实例分析(温湿度采集及控制) 2012-08-05 16:58:58| 分类: zigbee | 标签:cc2430 zigbee 温湿度cc2430|字号大中小 订阅 就像这样,先添加于温湿度传感器相关的.c和.h文件,还有串口相关的,c和.h也就是写好可以给另外的文件调用的函数了。 我这里面只用到了voidwenshi_receive( void );一个函数,然后将函数和其中所用到的两个变量TH,RH,分别代表温度和湿度设为全局变量。 先打开SimpleSensor.c这个小工程,用官方程序调试的时候可以看出,也就是不断地发数据到协调器,自然就要找到与发数据相关的函数: 那其实发送之前要先与协调器绑定吧,好比打电话也要先拨通电话吧。 找到与绑定相关的函数: void zb_BindConfirm( uint16 commandId,uint8 status ) { if( ( status == ZB_SUCCESS ) amp;amp; ( myAppState == APP_START ) ) { myAppState = APP_BOUND; //Start reporting sensor values myApp_StartReporting(); } else { // Continue to discover a collector osal_start_timerEx( sapi_TaskID, MY_FIND_COLLECTOR_EVT, myBindRetryDelay); } 直接点,若绑定成功,就会返回一个ZB_SUCCESS的状态,此时方会调用myApp_StartReporting();函数,否则就继续搜索节点。 对于myApp_StartReporting();: void myApp_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的问题,也就添加一个任务嘛,回到整个工程的主函数,看看怎么回事,这里面就不详细地列出来了,有需要的读者可以一探究竟。过程是这样的: 主函数:ZSEG intmain( void )—— /*系统初始化*/osal_init_system();——osalInitTasks(); /*任务初始化*/ ——SAPI_Init( taskID ); /*用户自定义任务函数,他的任务ID为taskID*/ ?—— /*其中的一个等式*/s api_TaskID = task_id; 也就是说可以通过osal_start_timerEx添加一个周期性的任务,其周期为XXXPeriod,比如片内温度采集:myTempReportPeriod,电压测量myBatteryCheckPeriod,那XXXEVT,也就相当于一个任务Task里面一个独立的事件Event了。 那么我们也可以这么添加自己的事件: 再看看XXXEVT 和 XXXP

文档评论(0)

1045141460 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档