16.5.1. 函数列表¶
16.5.1.1. Function gx_rtc_exit¶
-
int gx_rtc_exit(void)
rtc 退出
- Returns 0
成功
- Returns -1
失败
- 返回
int 退出是否成功
16.5.1.2. Function gx_rtc_get_prescaler_tick¶
-
void gx_rtc_get_prescaler_tick(unsigned long *time_duration)
获取 prescaler tick 值
- 参数
time_duration -- 获取到的 prescaler tick 值
16.5.1.3. Function gx_rtc_get_sec¶
-
void gx_rtc_get_sec(unsigned long *time_duration)
获取时间(秒)
- 参数
time_duration -- 获取到的时间,单位秒
16.5.1.4. Function gx_rtc_get_tick¶
-
void gx_rtc_get_tick(unsigned long *time_duration)
获取 CCVR 计数值
- 参数
time_duration -- 获取到的 CCVR 计数值;cpsr_enable = 0 时为时钟源周期数, cpsr_enable = 1 时为分频后的 CCVR 计数值
16.5.1.5. Function gx_rtc_init¶
-
void gx_rtc_init(void)
RTC 初始化
调用前可通过 gx_rtc_set_cpsr_enable() 和 gx_rtc_set_prescaler() 配置分频:
cpsr_enable = 0:CCVR 按时钟源频率计数,tick_hz = pclk
cpsr_enable = 1(默认):CCVR 经硬件分频计数,tick_hz = pclk / prescaler prescaler 为 0 时,init 内部默认设为 pclk(1Hz)
16.5.1.6. Function gx_rtc_set_alarm_time_s¶
-
int gx_rtc_set_alarm_time_s(int alarm_after_s)
设置相对定时(秒)
在当前 CCVR 基础上延迟 alarm_after_s 秒触发中断,须先调用 gx_rtc_set_interrupt()。
- 参数
alarm_after_s -- 延迟时间,单位秒
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
16.5.1.7. Function gx_rtc_set_cpsr_enable¶
-
void gx_rtc_set_cpsr_enable(int enable)
设置硬件预分频使能
须在 gx_rtc_init() 之前调用。
- 参数
enable -- 1 启用硬件 CPSR 分频,0 禁用
16.5.1.8. Function gx_rtc_set_interrupt¶
-
int gx_rtc_set_interrupt(irq_handler_t callback, void *priv)
设置中断回调函数
- 参数
callback -- 中断回调函数
priv -- 中断回调参数
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
16.5.1.9. Function gx_rtc_set_prescaler¶
-
int gx_rtc_set_prescaler(unsigned int prescaler)
设置硬件 CPSR 分频系数
仅在 cpsr_enable = 1 时有效,须在 gx_rtc_init() 之前调用。 CCVR 计数频率 tick_hz = pclk / prescaler,prescaler 取值范围 1 ~ 0xffff。 prescaler 为 0 时,init 内部默认设为 pclk(1Hz)。
- 参数
prescaler -- CPSR 分频系数
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
16.5.1.10. Function gx_rtc_set_sec¶
-
void gx_rtc_set_sec(unsigned long time_duration)
设置时间(秒)
- 参数
time_duration -- 目标时间,单位秒
16.5.1.11. Function gx_rtc_set_tick¶
-
void gx_rtc_set_tick(unsigned long time_duration)
设置 CCVR 计数值
- 参数
time_duration -- CCVR 计数值;cpsr_enable = 0 时为时钟源周期数, cpsr_enable = 1 时为分频后的 CCVR 计数值