当前位置: 首页 > news >正文

网站还未被收录可以做推广吗做电影下载网站成本

网站还未被收录可以做推广吗,做电影下载网站成本,dw怎么做phpcms网站,公益网站怎么做f8wConfig.cfg文件 选择信道、设置PAN ID 选择信道 #define DEFAULT_CHANLIST 0x00000800 DEFAULT_CHANLIST 表明Zigbee模块要工作的网络#xff0c;当有多个信道参数值进行或操作之后#xff0c;把结果作为 DEFAULT_CHANLIST值 对于路由器、终端、协调器的意义#xff1…f8wConfig.cfg文件 选择信道、设置PAN ID 选择信道 #define DEFAULT_CHANLIST 0x00000800 DEFAULT_CHANLIST 表明Zigbee模块要工作的网络当有多个信道参数值进行或操作之后把结果作为 DEFAULT_CHANLIST值 对于路由器、终端、协调器的意义 路由器和终端 可以在参与或操作的这些信道上选择一个相对于我来说最佳的网络加入进去 协调器 可以在参与或操作的这些信道上选择一个最佳的信道并在这个信道上创建自己的Zigbee网络 选择PAN ID 非0xFFFF 路由器和终端必须要加入到PANID为参数值这样一个Zigbee无线局域网协调器要创建一个网络并且把这个参数值作为这个网络的PANED 为0xFFFF 路由器和终端在加入网络的时候没有PANID的限制协调器可以随机生成一个值把这个随机值作为这个网络的PANED 当2个模块下载相同的协调器代码并且指定的PANID参数值为非0xffff时 先上电的模块可以创建0xFFF8这样一个Zigbee网络后上电的模块创建一个在0xFFF8基础上加1的网络。 响应任务事件 硬件层 硬件操作相关 网络层 网络相关的代码 应用层自己写应用程序部分 几乎每一个层都是一个任务系统为每一个任务分配一个一个字节的唯一数值编号每一个任务都能处理一些他们能够处理的事物任务ID这个数值编号叫做事件它他们能够处理的事物 /* *task_id任务ID *event_flag任务事件 */ uint8 osal_set_event( uint8 task_id, uint16 event_flag )在工程中进行测试 在TestAPP.c文件中找到UINT16 TestAPP_ProcessEvent( byte task_id, UINT16 events )函数在之前写的三种模式的测试代码下添加如下语句 osal_set_event(TestAPP_TaskID,TestAPP_SEND_MSG_EVT);在该函数中进行向下找看到对TestAPP_SEND_MSG_EVT事件的响应代码进行如下处理 P0DIR | 0X02;P0_1 0;在P0DIR语句前和 LS164_BYTE(11)语句前打断点然后再路由器的工程下进行编译然后烧录代码下载后全速执行、单步调试实验现象跳到TestAPP_SEND_MSG_EVT事件的响应代码LED2亮 软件定时器响应事件 /* *taskID任务ID *event_id任务事件 *timeout_value超时时间毫秒多长时间处理一次 */ uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value )实验验证 osal_start_timerEx(TestAPP_TaskID,TestAPP_SEND_MSG_EVT,2000);注释掉刚才写的osal_set_event函数将osal_start_timerEx函数写在下面 编译下载观察实验现象延时2秒后亮 定义事件 格式为 #define 事件名 0x000? ?可以是十六进制的数最多定义16个时间 0 ~ F 必须保证3个0位置随意 实验验证 在TestAPP.h文件中定义事件 格式为 #define 事件名 0x000? ?可以是十六进制的数最多定义16个时间 0 ~ F 必须保证3个0位置随意 //格式为 #define 事件名 0x000? ?可以是十六进制的数最多定义16个时间 0 ~ F //必须保证3个0位置随意 #define TestAPP_EVT 0x0002 如下 在TestAPP.c文件中找到刚才的UINT16 TestAPP_ProcessEvent( byte task_id, UINT16 events )函数在最后一个事件响应代码下添加新的事件响应代码 if ( events TestAPP_EVT ){//初始化要全面因为使用的是TI官方代码移植的他官方例程中可能也配置了这个IO口我们在这里重新配置的时候必须要全面配置否则这个IO口可能默认不是通用IOP0SEL 0XEF;//1110 1111 P0DIR | 0X10;P0_4 0;return (events ^ TestAPP_EVT);}添加本事件的响应事件函数 编译下载灯亮 初始化要全面因为使用的是TI官方代码移植的他官方例程中可能也配置了这个IO口我们在这里重新配置的时候必须要全面配置否则这个IO口可能默认不是通用IO 消息 在ZSTACK里任务事件定义的特点决定了每一个任务最多只能处理16种不同的事件而系统在运行时候有许多事务需要处理如果每一个实物处理都定义成1个事件那么16种事件肯定是不够用所有引入消息。 消息的处理事务的原理 定义了一个事件#define SYS_EVENT_MSG 0x8000 // A message is waiting event 当需要应用层任务来处理某个事务的时候首先给应用层任务发送一个消息 掉osal_set_event(SDApp_TaskID,SYS_EVENT_MSG); 那么这样一来应用层就会进入SYS_EVENT_MSG处理在这个事件处理里判断到底刚刚引发我们产生SYS_EVENT_MSG事件是哪一种类型的消息然后根据消息的类型做相应的处理。 而消息的类型可以自己定义这样一来消息的类可以很多那么应用层任务处理的事物种类就很多了。 实验验证 将TestAPP.c文件中的void TestAPP_HandleKeys( byte shift, byte keys )函数下的所有内容清空然后调用数码管显示函数 在TestAPP_ProcessEvent函数注释掉之前调用的osal_start_timerEx将下面的函数添加到下面 // 定义一个名为keyChange_t的结构体指针msgPtr keyChange_t *msgPtr;//定义按键响应消息 msgPtr (keyChange_t *)osal_msg_allocate( sizeof(keyChange_t) );if ( msgPtr ){// 将消息头部的事件设置为KEY_CHANGEmsgPtr-hdr.event KEY_CHANGE;// 将键值设置为3msgPtr-keys3;//将发送给TestAPP_TaskID任务的消息压入消息队列并响应系统事件osal_set_event(TestAPP_TaskID,SYS_EVENT_MSG);osal_msg_send( TestAPP_TaskID, (uint8 *)msgPtr ); }编译下载数码管显示按键数字表示无误 按键实验协议栈实现 添加封装好的代码到工程中 Key.c 根据自己的实际情况更改里面的文件名和事件名 #includeiocc2530.h #include TestApp.h #include OSAL_Timers.h extern unsigned char TestAPP_TaskID; void delay() {int i,j;for(i0;i1000;i)for(j0;j30;j); } void KeysIntCfg() {//Key3 Key4 Key5P1SEL ~0X02;P1DIR ~0X02;IEN2|0x10;//开P1IE组中断P1IEN|0x02;//开Key3组内中断PICTL|0x02;//设置P1_1为下降沿P2SEL ~0X01;P2DIR ~0X01;IEN2|0x02;P2IEN|0x01;PICTL|0x08;//设置P2_0为下降沿P0SEL ~0X20;P0DIR ~0X20;P0IE1;//或者写成 IEN1|0x20P0IEN|0x20;PICTL|0x01;//设置P0_5为下降沿EA1; //开总中断 }#pragma vectorP1INT_VECTOR __interrupt void Key3_ISR() //P1_1 {if(P1IFG 0X02){osal_start_timerEx(TestAPP_TaskID,TestAPP_EVT,25);}P1IFG 0;P1IF0; } #pragma vectorP2INT_VECTOR __interrupt void Key4_ISR()//P2_0 {if(P2IFG 0X01){ osal_start_timerEx(TestAPP_TaskID,TestAPP_EVT,25);}P2IFG 0;P2IF0; } #pragma vectorP0INT_VECTOR __interrupt void Key5_ISR()//P0_5 {if(P0IFG 0X20){osal_start_timerEx(TestAPP_TaskID,TestAPP_EVT,25);}P0IFG 0;P0IF0; }Key.h #ifndef KEY_H #define KEY_H void KeysIntCfg();#endif引用头文件初始化。【初始化函数一定要放到osal_start_system();之前】 屏蔽官方例程中的中断函数。【hal-target-CC2530EB-drivers】里面的HAL_ISR_FUNCTION( halKeyPort2Isr, P2INT_VECTOR )和HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR ) 将TestAPP.c文件中的之前定义的TestAPP_EVT事件响应进行修改如下所示 if ( events TestAPP_EVT ){P0SEL 0XEF;//1110 1111 P0DIR | 0X10;P0_4 ^ 1;if(0P1_1){/*按钮3按下*/LS164_BYTE(3);}if(0P2_0){/*按钮4按下*/LS164_BYTE(4);}if(0P0_5){/*按钮5按下*/LS164_BYTE(5);}return (events ^ TestAPP_EVT);}下载实验现象按下按键灯亮灭交替数码管显示按键编号 使用协议栈生成hex文件注意 配置项目工程可以生成hex之前在生成工程里面说过如何设置 在f8w2530.xc文件中将下面两行的注释去掉
http://www.pierceye.com/news/671589/

相关文章:

  • phpcms网站织梦 网站栏目管理 很慢
  • 金融网站 改版方案seo推广优化培训
  • 博物馆设计网站推荐网站布局有哪些常见的
  • 外贸网站建设980ps软件需要付费吗
  • 网站开发后的经验总结北新泾街道网站建设
  • 深圳市南山区住房和建设局网站国内知名网站建设伺
  • 企业网站建设制作的域名费用做的网站怎么上传
  • c++可视化界面设计搜索引擎优化自然排名的区别
  • 网站开发工作网络营销的网站分类有
  • 校园网上零售网站建设方案网站建设中页面模板
  • 网站如何报备外贸网站设计风格
  • 网上的网站模板怎么用百度网站认证官网
  • 上饶企业网站建设免费制作小程序游戏
  • cps推广网站建e网卧室设计效果图
  • php支持大型网站开发吗南海最新消息
  • 多语言企业网站html网站素材
  • 网站建设留言板怎么做优必选网站
  • 深圳建网建网站南博网站建设
  • 如何做防水网站一般网站做响应式吗
  • 回收手机的网站哪家好学生个人网页
  • 优秀甜品网站最有前景的十大行业
  • 手册设计南宁seo网站排名优化公司
  • 国外做科普视频的网站郑州做营销型网站的公司
  • 雄安网站设计制作即时灵感网站
  • 自己怎么优化网站排名wordpress 自动超链接
  • 建设工程安全监督备案网站wordpress最简易主题
  • 集客营销软件官方网站如何开发微信微网站
  • 青岛谁优化网站做的好微营销工具
  • 怎么才能建立一个网站卖东西php做网站用html做吗
  • 西安公司网站设计费用免费外国网站浏览器