请选择 进入手机版 | 继续访问电脑版

930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC8H8K64U开发板
查看: 1231|回复: 1

软件定时器宏APP_TIMER_TICKS的原理

[复制链接]

2

主题

4

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2020-12-15 14:07:50 | 显示全部楼层 |阅读模式
看代码一般类似这样
app_timer_start(m_HR_timer_id, APP_TIMER_TICKS(1000), NULL);

关注 APP_TIMER_TICKS(1000)

#ifndef FREERTOS
#define APP_TIMER_TICKS(MS)                                \
            ((uint32_t)ROUNDED_DIV(                        \
            (MS) * (uint64_t)APP_TIMER_CLOCK_FREQ,         \
            1000 * (APP_TIMER_CONFIG_RTC_FREQUENCY + 1)))



把数据带进去
#define APP_TIMER_CLOCK_FREQ            32768
#define APP_TIMER_CONFIG_RTC_FREQUENCY 0


也即是  APP_TIMER_TICKS(1000) = (32768+1000/2) / 1000

这个参数 是怎么完成定时1000ms=1s一次回调的呢?【是这个参数不理解】
回复

使用道具 举报

52

主题

279

帖子

6269

积分

版主

Rank: 7Rank: 7Rank: 7

积分
6269
发表于 2020-12-15 15:33:36 | 显示全部楼层
APP_TIMER_TICKS(1000)这个宏是将1000ms转换为RTC的ticks,由RTC完成定时的。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2016 930ebbs Powered by 930电子网( 皖ICP备16000695号-2 )QQ
手机版官方淘宝店930电子网  
快速回复 返回顶部 返回列表