怎么往zstack协议栈添加多个任务

怎么往zstack协议栈添加多个任务,第1张

1.用户自己设计的任务代码在Zstack中的调用过程

(1).main() 执行(在ZMain.c中)

main() --->osal_init_system()

(2). osal_init_system()调用osalInitTasks(), (在OSAL.c中)

osal_init_system() --->osalInitTasks()

(3). osalInitTasks()调用SampleApp_Init() , (在OSAL_SampleApp.c中)

osalInitTasks() --->SampleApp_Init()

在osalInitTasks()中实现了多个任务初始化的设置,其中macTaskInit( taskID++ )到ZDApp_Init( taskID++ )的几行代码表示对于几个系统运行初始化任务的调用,而用户自己实现的SampleApp_Init()在最后,这里taskID随着任务的增加也随之递增.所以用户自己实现的任务的初始化 *** 作应该在osalInitTasks()中增加.

void osalInitTasks( void )

我想你要找的是byte osal_start_timerEx( byte taskID, UINT16 event_id, UINT16 timeout_value )函数,这个函数可以在timeout_value毫秒后执行taskID任务的event_id事件,Z-STACK的OS并不是可剥夺的,而是事件驱动的

建立自己的Z-stack程序方法:

把TI的ZStack-CC2530-2.5.1a文件夹下所有东西拷贝到自己的文件夹下,然后把里面除了Components、Project、Tools文件夹留下其他全部删除。

然后进入project文件夹中zstack文件夹,把除了Library、Samples、Tools、ZMian之外的所有文件夹删除。

重新命名Samples文件夹为MyCoordinator。

进入MyCoordinator文件夹,只留下SampleApp文件夹,并改名为Coordinator。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11579312.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存