- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
1亿VIP精品文档
相关文档
最近下载
- 对流传热基础及微分方程组课件.ppt
- 2023通辽市蒙辽水务有限责任公司招聘试题及答案解析.docx
- 医疗十八项核心制度.pptx VIP
- 人教版英语八年级上册 Unit 5 Do you want to watch a game show 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
- 坚持党对一切工作的领导——大学生讲思政课 毛概.pptx VIP
- 行政管理毕业论文5000字(6篇汇编).docx
- 三碁(SAVCH)S900系列变频器多功能迷你型用户手册(中文)V1.7.pdf
- 职工代表大会选票模板文档.docx VIP
- 领导力的变革管理.pptx
- 2020年高中学业水平合格性考试生物模拟题.doc
文档评论(0)