首页 > 代码库 > CC2540 OSAL 学习其中原理,以及 给任务 添加 一个事件(定时发送串口消息)

CC2540 OSAL 学习其中原理,以及 给任务 添加 一个事件(定时发送串口消息)

1、TI 的 CC2540跑了一个  OSAL   (Operating System Abstraction Layer),

2、在 TI 提供 的 SDK  中 ,打开 一个 观察者工程,找到任务初始化的地方。(可通过 菜单->Edit->Find and Replace->Find in Files 这个全局查找 功能 进行找到这个函数osalInitTasks)

这里 有很多任务 的初始化 ,按顺序执行,每个任务 有一个 对应 一个 事件处理函数(那个任务产生事件,就去执行这个函数),这句话很重要哦,一定要理解。

 

技术分享

任务对应的 事件处理 函数 :如下

技术分享

 

3、前面的任务 都不管 ,现在我 们值关心 最后一个任务

/* Application */
SimpleBLEObserver_Init( taskID );

对应 的事件处理函数是:

SimpleBLEObserver_ProcessEvent( uint8 task_id, uint16 events );

4、先看看这个任务SimpleBLEObserver_Init的初始化都做了什么。

技术分享

 

 5、看看这个任务的 事件处理函数SimpleBLEObserver_ProcessEvent 都 做了什么。

技术分享

 

 6、我们要在这个任务中添加一个事件(定时发送串口消息)做法如下。

    第一步:在这个任务中,添加一个事件,名称叫:

    #define SBP_PERIODIC_EVT                                  0x0002

 

CC2540 OSAL 学习其中原理,以及 给任务 添加 一个事件(定时发送串口消息)