版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
不和他打交道。由于我们的学台是基于TI公司的,所以讲述的当然也是TI的Z-内容,将复杂部分掉。让用户通过API函数就可以轻易用ZigBee。这样大家使用时器计时,令LED一秒改变一次状态。好,现在进一步,我们利用同一个定时器计时,令LED1一秒闪烁一次,LED2二秒闪烁一次。这样就有2个任务了。再进一步…有n个LED,就有n个任务执行了。协议栈的最终工作原理也一样。从它工作开栈文件夹TexasInstruments\Projects\zstack。里面包含了TI公司的例程和工具。其中的功能我们会在用的的实验里讲解。再打开Samples文件夹:\SampleApp\CC2530DB下工程文件SampleApp.eww。留意左边的工程 时只需要关注Zmain文件夹和App文件夹。任何程序都在main函数开始运行,Z-STACK也不例外。打开Zmain.C,找到intmain(void)函数。我们大概浏览一下main函数代码:*@fn Firstfunctioncalledafter don'tintmain(void{//Turnoffosal_int_disableINTS_ALLInitializationforboardrelatedstuffsuchasLEDsHAL_BOARD_INIT();//初始化系统时钟Makesuresupplyvoltageishighenoughtorun //InitializeboardInitBoard(OB_COLD //初始化I/O,LED、Timer//InitialzeHAL //InitializeNVosal_nv_init(NULL);//初始化 //Initializethe //初始化MAC//Determinetheextendedaddress //确定 64位地//InitializebasicNVitems #ifndefNONWK//SincetheAFisn'tatask,callit'sinitializationroutineafInit();Initializetheoperatingsystem ////Allowosal_int_enableINTS_ALL////Finalboard yinformationaboutthisdevice /*Dis ythedeviceinfoontheLCD*/#ifdefLCD_SUPPORTED#ifdef/*IfWDTisused,thisisagood cetoenableit.*/WatchDogEnable(WDTIMX);osal_start_system();//NoReturnfromhere执行操作系统,进去后不会返回return0; //Shouldn'tgethere.}开始先执行初始化工作。包括硬件、网络层、任务等的初始化。然后执行2、运行操作系统{uint8taskID=tasksEvents=(uint16*)osal_mem_alloc(sizeof(uint16) osal_memset(tasksEvents,0,(sizeof(uint16) //任务优先级由高向低依次排列,高优先级对应taskID kInit(taskID++);//ma kInit(0),用户不需考虑nwk_init(taskID++); Hal_Init(taskID++); //Hal_Init(2),用户需考虑#ifdefined(MT_TASK)MT_TaskInit(taskID++); )#ifdefined(ZIGBEE_FRAGMENTATION)APSF_Init(taskID++);ZDApp_Init(taskID++); #ifdefined(ZIGBEE_FREQ_AGILITY)||defined(ZIGBEE_PANID_ }虑的用户可以根据自己的硬件平台或者其他设置,而写着不需考虑的也是不能修改的。TI公司协议栈已完成的东西。这里先提前卖个关子SampleApp_Init(taskID);2osal_start_system();运行操作系统。同样用gotodefinition的方法进入该函数。呵呵,结果发现很不理想。甚至很多函数形式没见过。看代码 Thisfunctionisthemainloopfunctionofthetasksystem.willlookthroughalltaskeventsandcallthefunctionforthetaskwiththe Iftherearenoeventsalltasks),thisfunctionputstheprocessorinto执 执 -@param@returnvoidosal_start_system(void){#if!defined(ZBIT)&&!defined(UBIT) //ForeverLoop{uint8idx= //Thisre cesMT_SerialPoll()andosal_check_timer().do{if(tasksEvents[idx])//Taskishighestprioritythatisready.{ }}while(++idx if(idx {uint16events; events=tasksEvents[idx]; eventstasksArr[idxidxevents通过指针调用任务处理函数,关键 tasksEvents[idx]|=events;//Addbackunprocessedeventstothecurrent
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国医药外包行业市场供需现状及投资战略规划分析报告
- 2026年网络安全行业创新报告与数据隐私保护分析报告
- 2026华润微电子秋招题库及答案
- 浙江省杭州市上城区2024-2025学年七年级上学期期末道德与法治试题(含答案)
- 珠宝设计中对称纹理雕刻在金饰艺术中的传统技法研究课题报告教学研究课题报告
- 脸部皮肤护理常见问题解答
- 学生个性化学习隐私保护与数据安全的关键技术及实践应用教学研究课题报告
- 2024新版2025春广西桂美版艺术造型美术一年级下册教学课件:第四单元第1课 我的名字
- 2026年制药行业创新研发报告
- 高中生利用离子色谱法测定饮料中山梨酸钾含量的课题报告教学研究课题报告
- 蒂森电梯安全质量培训
- 2025版慢性阻塞性肺疾病常见症状及护理指南
- 2026年中国港口机械市场分析报告-市场规模现状与发展趋势分析
- 2025年江苏省淮安市高二上学期学业水平合格性考试调研历史试题(解析版)
- 2025-2026学年人教PEP版小学英语六年级上册期末检测试卷及答案
- 纯化水取样课件
- 山东省青岛市市南区2024-2025学年六年级上学期期末考试数学试卷
- 安全生产责任追究细则
- 寄递物流禁毒培训
- 长沙渣土车管理办法
- 2025年超声波金焊机行业研究报告及未来行业发展趋势预测
评论
0/150
提交评论