久久精品国产精品国产一区,少妇扒开毛毛自慰喷水,国产精品无码电影在线观看 ,久久天天躁夜夜躁狠狠85麻豆

思澈科技軟件開發(fā)工具包  2.20
RTC

SIFLI 芯片組的實(shí)時時鐘 RTC 是一個獨(dú)立的二進(jìn)制編碼 - 十進(jìn)制 (BCD) 定時器計數(shù)器。 RTC 內(nèi)核由計數(shù)器、預(yù)分頻器、時鐘分頻器、鬧鐘數(shù)據(jù)寄存器等組成。 與任何標(biāo)準(zhǔn) RTC 芯片一樣,嵌入式 RTC 可用于提供全功能的基于軟件的日歷以及鬧鐘功能。 然而,需要在軟件端而不是硬件端做更多的工作。當(dāng)使用 RTC 芯片時,只需要讀取或?qū)懭雴为?dú)的日期時間寄存器。在 SIFLI chpset 中,我們需要做的不止這些,因?yàn)椴淮嬖趩为?dú)的日期時間寄存器。

從睡眠/待機(jī)模式重置或喚醒 MCU 不會重新初始化時間一旦設(shè)置。 如果備用電池 (VBAT) 引腳上有備用電池,效果會更好。 SIFLI 芯片組的所有 VDD 都可以關(guān)閉,換句話說,整個 MCU 內(nèi)核可以完全關(guān)閉,但備用電池保持 RTC 和備用域運(yùn)行。因此,在斷電和睡眠模式期間時間不會改變或丟失。 SIFLI 嵌入式 RTC 的主要特性如下:

可編程預(yù)分頻器:分頻因子高達(dá)

  • 用于長期喚醒的 18 位可編程計數(shù)器。
  • 兩個獨(dú)立的時鐘源:用于 APB2 接口的 PCLK1 和 RTC 時鐘
  • 程序接口支持日期在 1970-1-1 到 2099-12-31 之間

RTC 驅(qū)動的詳細(xì) API,請參考Real timer clock

驅(qū)動配置

固件可以使用 menuconfig 工具啟用 RTC,并且通常保存在 C 頭文件中。 默認(rèn)情況下,配置保存為 rtconfig.h。

下面顯示了在一個項(xiàng)目頭文件中定義的標(biāo)志,該項(xiàng)目啟用了 RTC 支持。

#define BSP_USING_ONCHIP_RTC

配置完成后,用戶需要在所有需要訪問驅(qū)動程序的源代碼中包含頭文件。

使用實(shí)時時鐘

以下代碼將初始化 RTC 寄存器,并在稍后用作時間戳。

{ // Set time to Janurary 7, 2020, 16:02:15
set_date(2020,1,7);
set_time(16,2,15);
}
...
{ // Get current date and time.
time_t now;
now = time(RT_NULL);
}

以下代碼將使用 RTC 進(jìn)行報警服務(wù)。

...
rt_device_t device;
struct rt_rtc_wkalarm alm;
// Set alarm at 18:30:00
alm.enable = 1
alm.tm_hour = 18;
alm.tm_min = 30;
alm.tm_sec = 00;
device = rt_device_find("rtc");
rt_device_control(device, RT_DEVICE_CTRL_RTC_SET_ALARM, &alm);
...
{
LOG_I("Alarm triggered");
}
HAL_RTC_AlarmAEventCallback
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
Alarm A callback.
RTC_HandleTypeDef
RTC Handle Structure definition.
Definition: bf0_hal_rtc.h:212