函数列表¶
Function gx_rtc_get_prescaler_tick¶
-
void gx_rtc_get_prescaler_tick(unsigned long *time_duration)
获取 prescaler tick 值
- 参数
time_duration -- 获取到的 prescaler tick 值
Function gx_rtc_get_sec¶
-
void gx_rtc_get_sec(unsigned long *time_duration)
获取时间(秒)
- 参数
time_duration -- 获取到的时间,单位秒
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 计数值
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)
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 是否成功
Function gx_rtc_set_cpsr_enable¶
-
void gx_rtc_set_cpsr_enable(int enable)
设置硬件预分频使能
须在 gx_rtc_init() 之前调用。
- 参数
enable -- 1 启用硬件 CPSR 分频,0 禁用
Function gx_rtc_set_interrupt¶
-
int gx_rtc_set_interrupt(irq_handler_t callback, void *priv)
设置中断回调函数
- 参数
callback -- 中断回调函数
priv -- 中断回调参数
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
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 是否成功
Function gx_rtc_set_sec¶
-
void gx_rtc_set_sec(unsigned long time_duration)
设置时间(秒)
- 参数
time_duration -- 目标时间,单位秒
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 计数值