全部博文(200)
发布时间:2013-01-07 14:58:01
在TI给的例子中,有两个大部分是用户必须编写,一个就是初始化函数,一个就是不同事件的处理函数,下面是SampleApp程序中的远程开头控制的初始化函数。 void SAPI_Init( byte task_id ) { uint8 startOptions; // 初始化任务ID,其中task_id由操作系统任务函数osalInitTasks( void ) 中的SAPI_Init( taskID );初始化 sapi_TaskID = task_id; //初始化绑定标志位,默认不允许绑定 &nbs......【阅读全文】
发布时间:2013-01-07 14:57:56
命令就是为了实现某种特定的通信而指定的一种强制性的通信方式。在SimpleApp的例子中定义了一个命令:在SimpleApp.h中 #define TOGGLE_LIGHT_CMD_ID 1 这个是灯状态切换的一个命令,也可以说是一个串或者簇,ID为1. 作为灯设备来说,该命令是输入命令,所以定义在输入命令 列表中:在文件SimpleContr......【阅读全文】
发布时间:2013-01-07 14:57:51
每个设备都有一组被配置的参数,整个配置参数在代码中已经定义了默认值(在f8wConfig.cfg)中,在同个网络中,所有设备的“网络细节”配置参数(如PANID,Channel等)应该被设置成一样的值。每个设备的“设备细节”配置参数(Coordinator,Router EndDevice等)可能配置为不同的值。 但是,ZCD_NV_LOGICAL_TYPE必须被设置,确保①有正确的一个设备作为协调器被配置②所有电池供电的设备作为终端设备被配置。一旦这些工作都完成,这个设备就可以以任意方式启动,协调器设备将建立网......【阅读全文】
发布时间:2013-01-07 14:55:10
在OSAL中每个任务都有一个任务初始化函数和任务的事件处理回调函数,而每一层中都是一个任务在处理,而每一层中也都对应着一个事件的处理函数,具体这个OSAL中支持多少个任务?好像程序中也没有定义。在uC/OS中支持64个任务。例如SampleApp_Init(taskID) SampleApp_ProcessEvent(byte task_id,UNINT16 events),在Z-Stack1.4.3-1.2.1中可以通过向const pTaskEventHandlerFn tasksArr[] = { macEventLoop, nwk_event_loop, Hal_Proc......【阅读全文】
发布时间:2013-01-07 14:55:05
我们先看一下osal_start_timerEx()函数,是怎么调用到最后的osal_set_event()函数,触发事件处理的。下面是osal_start_timerEx()函数的源代码,从中间我们并没有看到有关osal_set_events()函数的相关信息。当然这个函数中没有直接的调用该函数,那osal_set_events()函数,是怎么和我们的osal_start_timerEx()函数联系起来的呢?我们应该先从系统中的主循环开始查找其中的奥妙。 byte osal_start_timerEx( byte taskID, UINT16 event_......【阅读全文】