打印
[CC2640]

CC2640的时钟API函数的解释及应用

[复制链接]
506|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
磨砂|  楼主 | 2019-12-31 14:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
时钟实例函数可以在一定计时完成后被重新调用。时钟实例既是一次性的也是周期性的。一旦创建,就立刻执行。或者配制成进过一段的延时之后才开始的。他们能够在任何时候被禁止。所有的时钟例子都可以被执行当他们在软件中断溢出时。

最小分辨率是RTOS时钟周期被设置在RTOS配置文件中。

/* 10 us tick period */

Clock.tickPeriod = 10;

每次计时,均来至于RTC计时器。

下面是相关的时钟API函数:

/*********************************************************************

* @fn      Util_constructClock

*

* @brief   Initialize a TIRTOS Clock instance.

*

* @param   pClock        - pointer to clock instance structure.

* @param   clockCB       - callback function upon clock expiration.

* @param   clockDuration - longevity of clock timer in milliseconds

* @param   clockPeriod   - duration of a periodic clock, used continuously

*                          after clockDuration expires.

* @param   startFlag     - TRUE to start immediately, FALSE to wait.

* @param   arg           - argument passed to callback function.

*

* @return  Clock_Handle  - a handle to the clock instance.

*/

extern Clock_Handle Util_constructClock(Clock_Struct *pClock,

                                        Clock_FuncPtr clockCB,

                                        uint32_t clockDuration,

                                        uint32_t clockPeriod,

                                        uint8_t startFlag,

                                        UArg arg);

实际使用时,是这个样子的:

  Util_constructClock(&periodicClock, SimpleBLEPeripheral_clockHandler,

                      SBP_PERIODIC_EVT_PERIOD, 0, true, SBP_PERIODIC_EVT);

定义一个定时执行的定时器,一般来说,有什么需要周期执行的任务,可以添加到定时事件里面去执行。&periodicClock主要是分配一个时钟事件地址。可以这样定义static Clock_Struct periodicClock; SimpleBLEPeripheral_clockHandler是关于信号量传递的一个回调函数,这个必须有,不需用改动,工程中有,可直接调用。SBP_PERIODIC_EVT_PERIOD定义多久执行这个事件,一般不要太频繁。0这个可以为任意值,当为零时,当再次执行时需要再次启动时钟,当事件执行后需要重新开启定时器,用Util_startClock(Clock_Struct *pClock)函数启动。如果不为零,可以周期性执行,周期多少,取决于本值的设定。如果要改变事件的执行周期,则可以调用Util_rescheduleClock(Clock_Struct *pClock, uint32_t clockPeriod)函数。如果要停止时钟可以调用Util_stopClock(Clock_Struct *pClock)函数。


使用特权

评论回复

相关帖子

沙发
wiba| | 2020-1-6 11:49 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
板凳
zljiu| | 2020-1-6 11:53 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
coshi| | 2020-1-6 11:57 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
5
aoyi| | 2020-1-6 12:05 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
6
drer| | 2020-1-6 12:07 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

85

主题

3926

帖子

2

粉丝