文章目录

  • 1.osal_set_event函数的使用
  • 2.osal_start_timerEx函数,数码管变成c,两秒钟以后,灯点亮。
  • 3.我们能不能自己添加一个事件而不用GENERICAPP_SEND_MSG_EVT事件。

主要就是通过这个实验知道了:

  1. 怎么在初始化时候干一些事情
  2. 那些函数的参数是和什么有关的
  3. 怎么仿照协议栈自己写一个事件

1.osal_set_event函数的使用

修改事物,点亮p0_1

修改代码GenericApp.c的如下代码:

  if ( events & GENERICAPP_SEND_MSG_EVT ){// Send "the" messageGenericApp_SendTheMessage();// Setup to send message againosal_start_timerEx( GenericApp_TaskID,GENERICAPP_SEND_MSG_EVT,GENERICAPP_SEND_MSG_TIMEOUT );// return unprocessed eventsreturn (events ^ GENERICAPP_SEND_MSG_EVT);}



这里面的两个变量可以看:


设置断点,全速运行,然后运行至断点,显示:

按F9取消当前断点,可发现数码管显示C

此时再全速运行,可以发现程序跳到了这里

再按F9,然后全速运行,灯变亮了

然后复位,数码管变成c,灯立即点亮

2.osal_start_timerEx函数,数码管变成c,两秒钟以后,灯点亮。

osal_set_event(GenericApp_TaskID,GENERICAPP_SEND_MSG_EVT);

改成osal_start_timerEx(GenericApp_TaskID,GENERICAPP_SEND_MSG_EVT,2000);

3.我们能不能自己添加一个事件而不用GENERICAPP_SEND_MSG_EVT事件。

找到定义#define GENERICAPP_SEND_MSG_EVT 0x0001

其中四位中的每一位只能是8421中的一个,然后其余所有位为0,也就是说十六位里面只有一位是1。

1.在GenericApp.h里面,添加我们的事件GENERICAPP_MY_EVT的定义

#define GENERICAPP_MY_EVT 0X0002

2.模仿着在GenericApp.c建一个语句

if ( events & GENERICAPP_SEND_MSG_EVT ){return (events ^ GENERICAPP_SEND_MSG_EVT);}

变成:

if ( events & GENERICAPP_MY_EVT ){return (events ^ GENERICAPP_MY_EVT);}

我们现在要实现一个任务,把p0_4点亮

if(GenericApp_NwkState == DEV_ZB_COORD){//如果模块成了协调器,进到这LS164_BYTE(11);//osal_set_event(GenericApp_TaskID,GENERICAPP_SEND_MSG_EVT);//应用层GenericApp_TaskID任务处理GENERICAPP_SEND_MSG_EVT事物osal_start_timerEx(GenericApp_TaskID,GENERICAPP_MY_EVT,3000);}


改:

 if ( events & GENERICAPP_SEND_MSG_EVT ){P0DIR |=0X10;P0_4=0;return (events ^ GENERICAPP_SEND_MSG_EVT);}


但是灯不亮,添加断点

发现在

P0DIR |=0X10;
P0_4=0;

出问题。

修改:初始化工作作全面

 if ( events & GENERICAPP_SEND_MSG_EVT ){P0SEL &=0XEF;P0DIR |=0X10;P0_4=0;return (events ^ GENERICAPP_SEND_MSG_EVT);}

在Zmain.c里面的endif里面添加,以达到覆盖的目的,覆盖和TI起冲突的那部分

#endifLS164_Cfg();LS164_BYTE(10);

此时灯点亮了。

zigbee协议栈的系统相关函数的使用 仿照协议栈写事件相关推荐

  1. 202.linux系统相关函数

    linux系统函数 1 源码中常出现的字符串函数 1.1 strrchr.strch 函数-返回字符在字符串中指针地址 1.2 getopt.getopt_long.getopt_long_only ...

  2. Home Assistant 基于EZSP Zigbee Dongle创建Zigbee智能家居系统

    本文描述了如何在家庭自动化平台Home Assistant (Hass.io) (https://www.home-assistant.io/)中使用基于Silicon Labs的Zigbee Don ...

  3. android zigbee环境监测,基于ZigBee的环境监测系统的设计与实现

    基于ZigBee的环境监测系统的设计与实现 Design and Research of Environmental Monitoring System Based on ZigBee DOI: 10 ...

  4. java 协议栈_深入浅出讲解低功耗蓝牙(BLE)协议栈

    详解BLE连接建立过程 https://www.cnblogs.com/iini/p/8972635.html 详解BLE 空中包格式-兼BLE Link layer协议解析 https://www. ...

  5. 系统安全运维 Server 2008 R2 事件查看器实现日志分析

    <系统安全运维>  Server 2008 R2 事件查看器实现日志分析 在 windows server 2008 R2 中,可以通过点击 "开始" -> &q ...

  6. 无盘服务器读写缓存,无盘系统中实现网络磁盘本地写缓存控制的方法

    1. 一种无盘系统中实现网络磁盘本地写缓存控制的方法,所述的无盘系统中包括通过 网络与远程服务器相连接的客户端,其特征在于,所述的方法包括以下步骤:(1)客户端进行启动和初始化操作:(2)客户端根据服 ...

  7. 从奥运门票系统瘫痪到家乐福踩踏事件看软件设计中业务模型的处理

    从奥运门票系统瘫痪到家乐福踩踏事件看软件设计中业务模型的处理 作者:郭方明 完成日期:2007-11-17 version 1.0 联系信箱:gfm.job@Gmail.com 注:转载文章,请注明作 ...

  8. Noah Mt4跟单系统制作第六篇 Mt4TradeApi交易事件篇

    Noah Mt4跟单系统制作第六篇 Mt4TradeApi交易事件篇 using System; using System.Collections.Generic; using System.Linq ...

  9. ios10 android 短信,ios10系统短信怎么发送手写内容?ios10短信发送手写内容教程[多图]...

    ios10又有新功能啦啦!!小伙伴们赶紧奔走呼号,ios10系统短信可以发送手写内容,听起来就很酷炫!ios10系统短信怎么发送手写内容?来看看ios10短信发送手写内容教程吧! ios10系统短信怎 ...

最新文章

  1. 业务方的一堆需求,被我一句话怼回去了!CTO笑而不语,晋升有望了
  2. Linux课程第十三天学习笔记
  3. java beans 组件_如何利用JavaBeans在应用程序中创建组件?
  4. 三层架构—实践篇(.Net登录实例)
  5. 输出php数组结构,在PHP中输出数组结构使用 函数 。
  6. mysql实例化_MySQL如何通过实例化对象参数查询数据 ?(源代码)
  7. 网站实现点击 “加入收藏 ”功能 - 代码篇
  8. dockerfile制作镜像及k8s中应用
  9. 日本的危机感:想战胜中美,要举全国之力培养AI人才
  10. 智能语音翻译APP——腾讯翻译君
  11. TalkingData Ad Tracking开启反作弊模式
  12. 报错Found existing installation: tensorflow 1.2.1
  13. since作为连词引导时间状语从句的用法
  14. php在线编译器插件火狐,Firefox浏览器JS调试插件下载
  15. linux系统如何安装mtk驱动程序,模块编译问题 给MTK芯片的wifi网卡编译linux驱动 系统是mint...
  16. 获取MP3音频时长 | Java工具类
  17. HTML利用posotion属性定位 小技巧
  18. 弘辽科技:拼多多新店选什么推广方式?
  19. python中weekday_Python calendar.weekday方法代码示例
  20. Simulink对突变信号用transfer fcn的迟滞平滑处理

热门文章

  1. 关于c# SESSION丢失问题解决办法
  2. Centos7.x Hadoop 3.x HDFS 写入文件
  3. 计算机组成原理和体系结构----软考(到处copy)
  4. java in thread main_JAVA报错:Exception in thread main……求帮助?
  5. c语言123报数,新人求解一道C语言题。。。麻烦了
  6. android背景不填充,(Android Studio)应用程序背景图像不填充屏幕
  7. java inireader_java读取配置文件 Java中如何设置读取ini配置文件?
  8. Python数据结构与算法(三)--数据结构的概念
  9. Java面试题(亲身经历)
  10. org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved