- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Zstack的传感器中断添加实验
1.实验环境
硬件:UP-CUP IOT-6410-II 型嵌入式物联网综合实验系统,配套红外对射传感器,PC 机
软件:IAR Embedded Workbench for MCS-51
2.实验内容
学习TI ZStack2007协议栈内容,掌握CC2530模块无线组网原理及过程。掌握在ZStack协议栈的基础上设计中断处理函数的方法。
使用IAR开发环境设计程序,ZStack-2.3.0-1.4.0协议栈源码例程SampleApp工程基础上,实现无线组网及通讯。即协调器自动组网,终端节点自动入网。利用协议栈接口实现传感器中断处理函数。
3.实验原理
??ZIGBEE(CC2530)模块LED硬件接口
图5.8.1 LED硬件接口
ZIGBEE(CC2530)模块硬件上设计有2个LED灯,用来编程调试使用。分别连接CC2530的P1_0、P、1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。
本实验以红外对射传感器为例,讲解如何在ZStack协议栈中添加用户自己的中断处理函数。
红外对射传感器模块硬件接口
图5.8.2 红外对射模块硬件接口
图5.8.3 ZIGBEE 模块主板 SENSOR IO/INT 接口
系统配套的红外对射传感器,与ZIGBEE模块的IO/INT排针相连,这样我们可以知道,红外模块的信号线与ZIGBEE模块的P1_2 IO引脚相连。因此我们需要在代码中将该引脚配置成中断输入模式,来监测红外对射传感器状态。
??MT层串口通讯
协议栈将串口通讯部分放到了MT层的MT任务中去处理了,因此我们在使用串口通讯的时候要在编译工程(通常是协调器工程)时候在编译选项中加入MT层相关任务的支持:MT_TASK,ZTOOL_P1 或ZAPP_P1。
??关于传感器中断添加实验关键代码分析
HAL_ISR_FUNCTION(halP12isr,P1INT_VECTOR){
if(P1IFG 0x04) //中断
{
gIntFlag = 0x01;
HalUARTWrite ( 0, \rINT2\r, 6 );
osal_set_event(SampleApp_TaskID,SAMPLEAPP_SEND_SENSOR_INT_EVT);
Delay(100);
P1IFG = ~(0x04);
}
P1IF = 0; //清中断标志
}
uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events )
{
afIncomingMSGPacket_t *MSGpkt;
(void)task_id; // Intentionally unreferenced parameter
if ( events SYS_EVENT_MSG )
{
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );
while ( MSGpkt )
{
switch ( MSGpkt-hdr.event )
{
// Received when a key is pressed
case KEY_CHANGE:
SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)-state, ((keyChange_t *)MSGpkt)-keys );
break;
// Received when a messages is received (OTA) for this endpoint
case AF_INCOMING_MSG_CMD:
SampleApp_MessageMSGCB( MSGpkt );
break;
// Received whenever the device changes state in the network
case ZDO_
您可能关注的文档
- 00基于攻防状态图模型的网络风险评估方法 - 副本.doc
- 本科-二-7-基于面部识别的手机签到系统.doc
- 陈凌_基于Zigbee的混凝土施工信息无线监测系统.doc
- 单片机原理与应用-基于汇编、C51及混合编程1-11章习题解答.doc
- 基于3G网络的视频传输系统(应急指挥车).doc
- 基于51单片机的电子万年历的设计资料.doc
- 基于485总线的评分系统说明.doc
- 基于1602液晶显示的数字时钟(课程论文).doc
- 基于GPS的四旋翼导航系统申请书.doc
- 基于MVVM设计模式的WPF应用程序.doc
- 给高中学生手册的教师评语.pdf
- Humpty 儿童跌倒评估量表优质资料.pdf
- 北师大版一年级数学上册《左右》教案.pdf
- 2020年8月内蒙古鄂尔多斯市鄂托克前旗事业单位《综合基础知识》试题(网友回忆版).docx
- 2018年6月天津市北辰、静海、津南区事业单位《综合知识》.docx
- 2021年7月18日内蒙古鄂尔多斯市直事业单位招聘考试《公共基础知识》精选题(网友回忆版).docx
- 2012年10月内蒙古自治区赤峰市宁城县储备人才招聘考试《综合知识》题(精选).docx
- 2014年7月内蒙古自治区直属事业单位考试《综合基础知识》题(精选).docx
- 2018年10月14日天津市河西区事业单位《综合知识》.docx
- 2017年9月天津市事业单位《综合知识》.docx
文档评论(0)