您所在位置: 网站首页 / 串口透明传输实验分析.pdf / 文档详情
串口透明传输实验分析.pdf 立即下载
2024-08-30
约2.8万字
约29页
0
194KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

串口透明传输实验分析.pdf

串口透明传输实验分析.pdf

预览

免费试读已结束,剩余 24 页请下载文档后查看

15 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Zigbee协议栈学习之串口透明传输实验(SerialApp)流程分析




第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络

//第一步:Z-Stack由main()函数开始执行,main()函数共做了2件事:一是系统初始化,另外一件是开
始执行轮转查询式操作系统
intmain(void)
{
.......
//Initializetheoperatingsystem
osal_init_system();//第二步,操作系统初始化
......
osal_start_system();//初始化完系统任务事件后,正式开始执行操作系统
......
}

//第二步,进入osal_init_system()函数,执行操作系统初始化
uint8osal_init_system(void)//初始化操作系统,其中最重要的是,初始化操作系统的任务
{
//InitializetheMemoryAllocationSystem
osal_mem_init();

//Initializethemessagequeue
osal_qHead=NULL;

//Initializethetimers
osalTimerInit();

//InitializethePowerManagementSystem
osal_pwrmgr_init();

//Initializethesystemtasks.
osalInitTasks();//第三步,执行操作系统任务初始化函数

//Setupefficientsearchforthefirstfreeblockofheap.
osal_mem_kick();
return(SUCCESS);
}

//第三步,进入osalInitTasks()函数,执行操作系统任务初始化
voidosalInitTasks(void)//第三步,初始化操作系统任务
{
uint8taskID=0;
tasksEvents=(uint16*)osal_mem_alloc(sizeof(uint16)*tasksCnt);
osal_memset(tasksEvents,0,(sizeof(uint16)*tasksCnt));

//任务优先级由高向低依次排列,高优先级对应taskID的值反而小
macTaskInit(taskID++);//不需要用户考虑
nwk_init(taskID++);//不需要用户考虑
Hal_Init(taskID++);//硬件抽象层初始化,需要我们考虑
#ifdefined(MT_TASK)
MT_TaskInit(taskID++);
#endif
APS_Init(taskID++);//不需要用户考虑
#ifdefined(ZIGBEE_FRAGMENTATION)
APSF_Init(taskID++);
#endif
ZDApp_Init(taskID++);//第四步,ZDApp层,初始化,执行ZDApp_init函数后,如果是协调器将建立网络,
如果是终端设备将加入网络。
#ifdefined(ZIGBEE_FREQ_AGILITY)||defined(ZIGBEE_PANID_CONFLICT)
ZDNwkMgr_Init(taskID++);
#endif
SerialApp_Init(taskID);//应用层SerialApp层初始化,需要用户考虑在此处设置了一个按键触发事件,
//当有按键按下的时候,产生一个系统消息
}

//第四步,进入ZDApp_init()函数,执行ZDApp层初始化
//Thefirststep
voidZDApp_Init(uint8task_id)//Thefirststep,ZDApp层初始化。
{
//SavethetaskID
ZDAppTaskID=task_id;

//InitializetheZDOglobaldeviceshortaddressstorage
ZDAppNwkAddr.addrMode=Addr16Bit;
ZDAppNwkAddr.addr.shortAddr=INVALID_NODE_ADDR;
(void)NLME_GetExtAddr();//LoadthesaveExtAddrpointer.

//Checkformanual"HoldAutoStart"
ZDAppCheckForHoldKey();

//InitializeZDOitemsandsetupthedevice-typeofdevicetocreate.
ZDO_Init();

//RegistertheendpointdescriptionwiththeAF
//Thist
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

串口透明传输实验分析

文档大小:194KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用