×

nRF51822 SDK中的library调度处理和定时器部分的详细资料说明

消耗积分:1 | 格式:pdf | 大小:0.43 MB | 2019-04-23

分享资料个

  nRF51822虽然是一个小型的单片机,但是能真正达到任意调用其官方驱动以及BLE协议栈的人还是奇缺的。据我所见,大都拿官方给的一个冗长的蓝牙低功耗心率计工程改的。之前我对于这个工程进行log跟踪,虽然理清了其大致流程,但还是达不到任意修改甚至是构建自己的框架的程度。本文接上一篇,继续理解library中的调度处理和定时器部分。

  1、Schedule handling library

  调度程序主要负责从中断上下文向main函数上下文传送执行命令。

  在main函数中:

  1.为每种期望的事件定义句柄

  2.在进入main函数的循环前调用APP_SCHED_INIT()初始化调度程序

  3.在main loop中每次因为事件(特别是sd_app_evt_wait()返回)而唤醒应用时调用app_sched_execute()

  在中断中:

  1.在中断句柄中调用app_sched_event_put将相应的参数和事件句柄传入。这样,会把一个中断事件插入到sched队列中。

  2.app_sched_ececute函数将会取出该事件并在main中调用它的句柄。

  ps:关于这个的例子在HID Mouse Application和HID Keyboard Application中有介绍,这些留着后面讲。

  Applications using the Scheduler 在示例中使用scheduler的事件流图

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !