函数列表

Function gx_rtc_exit

int gx_rtc_exit(void)

rtc 退出

Returns 0

成功

Returns -1

失败

返回

int 退出是否成功


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 计数值


Function gx_rtc_start_tick

void gx_rtc_start_tick(void)

启动 tick 计数


Function gx_rtc_stop_tick

void gx_rtc_stop_tick(void)

停止 tick 计数