0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用RTC實(shí)時時鐘進(jìn)行應(yīng)用場景開發(fā)

UtFs_Zlgmcu7890 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-01-25 09:15 ? 次閱讀

周立功教授新書《面向AMetal框架與接口編程(上)》,對AMetal框架進(jìn)行了詳細(xì)介紹,通過閱讀這本書,你可以學(xué)到高度復(fù)用的軟件設(shè)計原則和面向接口編程的開發(fā)思想,聚焦自己的“核心域”,改變自己的編程思維,實(shí)現(xiàn)企業(yè)和個人的共同進(jìn)步。

第六章為重用外設(shè)驅(qū)動代碼,本文內(nèi)容包含6.3 RTC 實(shí)時時鐘中的后兩個小節(jié):

6.3.6 RX8025T

6.3.7 DS1302

6.3 RTC 實(shí)時時鐘

>>> 6.3.6 RX8025T

在MicroPort 系列擴(kuò)展模塊中,除主芯片為PCF85063 的RTC 模塊外,還有RX8025T模塊和DS1302 模塊,它們都是RTC 擴(kuò)展模塊,其主要區(qū)別詳見表6.14。

表6.14 RTC 芯片對比

表中,“√”表示對應(yīng)器件支持該功能,“×”表示對應(yīng)器件不支持該功能。

1. 器件簡介

RX8025T 是一款內(nèi)置高穩(wěn)定度的32.768KHz 的 DTCXO(數(shù)字溫度補(bǔ)償晶體振蕩器)的I2C總線接口方式的實(shí)時時鐘芯片,它提供了時間日期的設(shè)置與獲取、鬧鐘中斷、時間更新中斷、固定周期中斷、溫度補(bǔ)償?shù)裙δ?。所有地址和?shù)據(jù)通過I2C總線來傳輸,最大總線速率可達(dá)到400kbps。

RX8025T 引腳封裝詳見圖6.6,其中的SCL 和SDA 為I2C接口引腳,VDD 和VSS 分別為電源和地;CLKOUT 為時鐘輸出引腳,可用于輸出時鐘信號;T1(CE)、TEST、T2(Vpp)引腳僅供廠家測試使用,NC 為無需連接的引腳,實(shí)際使用時,這些引腳直接懸空即可;INT 為中斷引腳,主要用于鬧鐘等功能;CLK_EN 為時鐘輸出使能引腳, 用于控制CLKOUT 時鐘的輸出。

圖6.6 RX8025T 引腳定義

RX8025T 的7 位I2C從機(jī)地址為0x32,模塊原理圖詳見圖6.7。若將MicroPort-RX8025T模塊通過MicroPort 接口與AM824-Core 相連,則SCL 和SDA 分別與PIO0_16 和PIO0_18連接,INT 引腳與PIO0_1 連接,F(xiàn)OE 與PIO0_10 連接。

圖6.7 RX8025T 模塊電路

2. 器件初始化

在使用RX8025T 前,必須完成RX8025T 的初始化操作,以獲取對應(yīng)的操作句柄,進(jìn)而才能使用RX8025T 的各種功能,初始化函數(shù)(am_rx8025t.h)的原型為:

該函數(shù)意在獲取RX8025T 器件的實(shí)例句柄,其中,p_dev 為指向am_rx8025t_dev_t 類型實(shí)例的指針,p_devinfo 為指向am_rx8025t_devinfo_t 類型的實(shí)例信息的指針。

(1)實(shí)例

定義am_rx8025t_dev_t 類型(am_rx8025t.h)實(shí)例如下:

其中,g_rx8025t_dev 為用戶自定義的實(shí)例,其地址作為p_dev 的實(shí)參傳遞。

(2)實(shí)例信息

實(shí)例信息主要描述了具體器件的固有信息,即RX8025T 的CLK_EN、INT 引腳與微處理器引腳的連接信息。其類型am_rx8025t_devinfo_t 的定義(am_rx8025t.h)如下:

當(dāng)MicroPort-RX8025T 模塊通過MicroPort 接口與AM824-Core 相連時, INT和CLK_EN和分別與PIO0_1 和PIO0_10 連接。其實(shí)例信息定義如下:

其中,g_rx8025t_devinfo 為用戶自定義的實(shí)例信息,其地址作為p_devinfo 的實(shí)參傳遞。

(3)I2C句柄i2c_handle

I2C1 為例,其實(shí)例初始化函數(shù)am_lpc82x_i2c1_inst_init ()的返回值將作為實(shí)參傳遞給i2c_handle。即:

(4)實(shí)例句柄

RX8025T 初始化函數(shù)am_rx8025t_init ()的返回值,作為實(shí)參傳遞給其它功能接口函數(shù)的第一個參數(shù)(handle)。am_rx8025t_handle_t 類型的定義(am_rx8025t.h)如下:

若返回值為NULL,說明初始化失?。蝗舴祷刂挡粸镹ULL,說明返回值handle 有效。

基于模塊化編程思想,將初始化相關(guān)的實(shí)例、實(shí)例信息等的定義存放到對應(yīng)的配置文件中,通過頭文件引出實(shí)例初始化函數(shù)接口,源文件和頭文件的程序范例分別詳見程序清單6.39 和程序清單6.40。

程序清單6.71 實(shí)例初始化函數(shù)實(shí)現(xiàn)(am_hwconf_rx8025t.c)

程序清單6.72 實(shí)例初始化函數(shù)聲明(am_hwconf_rx8025t.h)

后續(xù)只需要使用無參數(shù)的實(shí)例初始化函數(shù),即可獲取到RX8025T 的實(shí)例句柄。即:

3. 使用RTC 功能

使用RTC 功能即使用RTC 通用接口操作RX8025T 進(jìn)行時間的設(shè)置和獲取,在使用RTC通用接口前,需要獲取一個am_rtc_handle_t 類型的RTC 句柄。RX8025T 的驅(qū)動提供了相應(yīng)的接口用于獲取RX8025T 的RTC 句柄,以便用戶通過RTC 通用接口操作RX8025T,其函數(shù)原型為:

該函數(shù)意在獲取RTC 句柄,其中,RX8025T 實(shí)例的句柄(rx8025t_handle)作為實(shí)參傳遞給handle,p_rtc 為指向am_rtc_serv_t 類型實(shí)例的指針,無實(shí)例信息。定義am_rtc_serv_t類型(am_rtc.h)實(shí)例如下

其中,g_rx8025t_rtc 為用戶自定義的實(shí)例,其地址作為p_rtc 的實(shí)參傳遞。

基于模塊化編程思想,將初始化相關(guān)的實(shí)例定義存放到對應(yīng)的配置文件中,通過頭文件引出實(shí)例初始化函數(shù)接口,源文件和頭文件分別詳見程序清單6.73 和程序清單6.74。

程序清單6.73 新增RX8025T 的RTC 實(shí)例初始化函數(shù)(am_hwconf_rx8025t.c)

程序清單6.74 am_hwconf_rx8025t.h 文件內(nèi)容更新(1)

后續(xù)只需要使用無參數(shù)的RTC 實(shí)例初始化函數(shù),即可獲取RTC 實(shí)例句柄。即:

獲取到handle 后,由于基于RTC 通用接口編寫的應(yīng)用程序是可以跨平臺復(fù)用的,因此可以直接基于RX8025T 啟動如程序清單6.45 所示的RTC 時間顯示應(yīng)用程序,詳見程序清單6.75。

程序清單6.75 啟動RTC 應(yīng)用程序(基于RX8025T)

顯然,若將RTC 模塊由PCF85063 更換為RX8025T,應(yīng)用程序核心代碼無需修改。

4. 使用鬧鐘功能

使用鬧鐘功能即使用鬧鐘通用接口操作RX8025T。在使用鬧鐘通用接口前,需要獲取到一個am_alarm_clk_handle_t 類型的鬧鐘句柄。RX8025T 的驅(qū)動提供了相應(yīng)的接口用于獲取RX8025T 的鬧鐘句柄,便于用戶通過鬧鐘通用接口操作RX8025T,其函數(shù)原型為:

該函數(shù)意在獲取鬧鐘句柄,其中,RX8025T 實(shí)例的句柄(rx8025t_handle)作為實(shí)參傳遞給handle,p_alarm_clk 為指向am_alarm_clk_serv_t 類型實(shí)例的指針,無實(shí)例信息。定義am_alarm_clk_serv_t 類型(am_alarm_clk.h)實(shí)例如下:

其中,g_rx8025t_alarm_clk 為用戶自定義的實(shí)例,其地址作為p_alarm_clk 的實(shí)參傳遞。

基于模塊化編程思想,將初始化相關(guān)的實(shí)例定義存放到對應(yīng)的配置文件中,通過頭文件引出實(shí)例初始化函數(shù)接口,源文件和頭文件分別詳見程序清單6.76 和程序清單6.77。

程序清單6.76 新增RX8025T 的鬧鐘實(shí)例初始化函數(shù)(am_hwconf_rx8025t.c)

程序清單6.77 am_hwconf_rx8025t.h 文件內(nèi)容更新(2)

后續(xù)只需要使用無參數(shù)的鬧鐘實(shí)例初始化函數(shù),即可獲取鬧鐘實(shí)例句柄。即:

獲取到handle 后,由于基于鬧鐘通用接口編寫的應(yīng)用程序是可以跨平臺復(fù)用的,因此可以直接基于RX8025T 啟動如程序清單6.54 所示的鬧鐘測試應(yīng)用程序,詳見程序清單6.78。

程序清單6.78 啟動鬧鐘測試應(yīng)用程序(基于RX8025T)

顯然,若將RTC 模塊由PCF85063 更換為RX8025T,鬧鐘應(yīng)用程序核心代碼無需修改。

5. 為系統(tǒng)時間提供RTC 服務(wù)

若需要使用RX8025T 為系統(tǒng)時間提供RTC 服務(wù),只需要在初始化系統(tǒng)時間時,將從RX8025T 中獲取的RTC 句柄作為系統(tǒng)時間初始化函數(shù)的rtc_handle 參數(shù)。即:

為方便使用,將初始化函數(shù)的調(diào)用添加到配置文件中,通過頭文件引出系統(tǒng)時間的實(shí)例初始化函數(shù)接口,詳見程序清單6.79 和程序清單6.80。

程序清單6.79 RX8025T 用作系統(tǒng)時間的實(shí)例初始化(am_hwconf_rx8025t.c)

程序清單6.80 am_hwconf_rx8025t.h 文件內(nèi)容更新(3)

后續(xù)只需要簡單的調(diào)用該無參函數(shù),即可完成系統(tǒng)時間的初始化。即:

系統(tǒng)時間初始化后,由于基于系統(tǒng)時間通用接口編寫的應(yīng)用程序是可以跨平臺復(fù)用的,因此可以直接基于RX8025T 啟動如程序清單6.65 所示的系統(tǒng)時間測試應(yīng)用程序,詳見程序清單6.81。

程序清單6.81 啟動系統(tǒng)時間測試應(yīng)用程序(基于RX8025T)

顯然,若將RTC 模塊由PCF85063 更換為RX8025T,使用系統(tǒng)時間的應(yīng)用程序無需修改。

6. 特殊功能控制接口

對于RX8025T,除典型的時鐘和鬧鐘功能外,還具有一些特殊功能,比如,定時器、時鐘輸出、1 字節(jié)RAM 等。這些功能由于不是通用功能,只能使用RX8025T 相應(yīng)的接口進(jìn)行操作。以讀寫1 字節(jié)RAM 為例,其相應(yīng)的接口函數(shù)詳見表6.15。

表6.15 讀寫RAM 接口函數(shù)(am_rx8025t.h)

(1)寫入RAM

該函數(shù)用于寫入1 字節(jié)數(shù)據(jù)到RX8025T 的RAM 中,其函數(shù)原型為:

其中,handle 為RX8025T 實(shí)例句柄,data 為寫入的單字節(jié)數(shù)據(jù)。若返回AM_OK,表示數(shù)據(jù)寫入成功,反之失敗,寫入0x55 至RAM 中的范例程序詳見程序清單6.82。

程序清單6.82 寫入RAM 范例程序

(2)讀取RAM

該函數(shù)用于讀取存于RX8025T 的單字節(jié)RAM 中的數(shù)據(jù),其函數(shù)原型為:

其中,handle 為RX8025T 實(shí)例句柄,p_data 為輸出參數(shù),用于返回讀取的單字節(jié)數(shù)據(jù)。

返回AM_OK,表示讀取成功,反之失敗,范例程序詳見程序清單6.83。

程序清單6.83 讀取RAM 范例程序

可以使用讀寫RAM 接口簡單驗(yàn)證RX8025T 是否正常,詳見程序清單6.84。

程序清單6.84 讀寫RAM 數(shù)據(jù)范例程序

若讀寫數(shù)據(jù)出錯,則點(diǎn)亮LED0。由此可見,雖然該程序的邏輯與程序清單6.70 所示的應(yīng)用程序基本一致,但由于使用的接口是特殊功能控制接口,與具體芯片相關(guān),因此并不能直接像RTC 應(yīng)用程序和鬧鐘應(yīng)用程序那樣直接跨平臺復(fù)用。

>>> 6.3.7 DS1302

1. 器件簡介

DS1302 是一款涓流充電計時芯片,它包含一個實(shí)時時鐘和31 字節(jié)的靜態(tài) RAM,能夠提供年、月、日、時、分、秒等信息,具有閏年校正功能。

DS1302 被設(shè)計工作在非常低的電能下,在低于1μW 時還能保持?jǐn)?shù)據(jù)和時鐘信息。除了基本計時功能以外,DS1302 還具有其它一些特點(diǎn),比如,雙管腳主電源和備用電源,可編程涓流充電器VCC1。

DS1302 通過簡單的串行接口與微處理器通訊,使用同步串行通訊簡化了 DS1302 與微處理器的接口,通訊只需要三根線:CE、I/O(數(shù)據(jù)線)、SCLK(串行時鐘)。DS1302 的引腳封裝圖詳見圖6.8。

圖6.8 DS1302 引腳定義

其中,X1 和X2 為外接晶振的引腳,需要連接標(biāo)準(zhǔn)的32.768kHz 的石英晶體。SCLK、CE、I/O 為與微處理器的串行通信引腳。GND 為電源地,VCC1 和VCC2為電源引腳,這也是DS1302 具有特色的地方,即:雙管腳主電源和備用電源,在雙管腳中,VCC2 是主電源,VCC1 是備用電源,一般接充電電池。DS1302 是由VCC1 或VCC2 兩者中的較大者供電。當(dāng)VCC2 大于VCC1+0.2V,VCC2 給芯片供電。當(dāng)VCC2 小于VCC1 時,芯片由VCC1 供電。當(dāng)芯片由VCC2 供電時,VCC1 不供電,同時,還可以通過可編程涓流充電器,使VCC2 向VCC1 流入很小的電流,以便為連接到VCC1 的電池充電。當(dāng)然,VCC1可以不接可充電電池,此時,只需要通過控制可編程涓流充電器,使VCC2 不向VCC1 流入電流即可。

DS1032 模塊的原理圖詳見圖6.9,若將MicroPort-DS1302 模塊通過MicroPort 接口AM824-Core 相連,則SCLK、I/O 和CE 分別與PIO0_15、PIO0_13 和PIO0_14 連接。

圖6.9 DS1302 模塊電路

2. 器件初始化

在使用DS1302 前,必須完成DS1302 的初始化操作,以獲取對應(yīng)的操作句柄,進(jìn)而才能使用DS1302 的各種功能,初始化函數(shù)的原型(am_ds1302.h)為:

該函數(shù)意在獲取DS1302 器件的實(shí)例句柄,其中,p_dev 為指向am_ds1302_gpio_dev_t類型實(shí)例的指針,p_devinfo 為指向am_ds1302_gpio_devinfo_t 類型的實(shí)例信息的指針。

(1)實(shí)例

定義am_ds1302_gpio_dev_t 類型(am_ds1302.h)實(shí)例如下:

其中,g_ds1302_gpio_dev 為用戶自定義的實(shí)例,其地址作為p_dev 的實(shí)參傳遞。

(2)實(shí)例信息

實(shí)例信息主要描述了具體器件的固有信息,即DS1302 的SCLK、I/O、CE 引腳與微處理器引腳的連接信息。其類型am_ds1302_gpio_devinfo_t 的定義(am_ds1302.h)如下:

當(dāng)MicroPort-DS1302 模塊通過MicroPort 接口與AM824-Core 相連時, SCLK、I/O 和CE 分別與PIO0_15、PIO0_13 和PIO0_14 連接。其實(shí)例信息定義如下:

其中,g_ds1302_gpio_devinfo 為用戶自定義的實(shí)例信息,其地址作為p_devinfo 的實(shí)參傳遞。

(3)實(shí)例句柄

DS1302 的初始化函數(shù)am_ds1302_gpio_init()的返回值,作為實(shí)參傳遞給其它功能接口函數(shù)的第一個參數(shù)(handle)。am_ds1302_handle_t 類型的定義(am_ds1302.h)如下:

若返回值為NULL,說明初始化失?。蝗舴祷刂挡粸镹ULL,說明返回值handle 有效。

基于模塊化編程思想,將初始化相關(guān)的實(shí)例、實(shí)例信息等的定義存放到對應(yīng)的配置文件中,通過頭文件引出實(shí)例初始化函數(shù)接口,源文件和頭文件的程序范例分別詳見程序清單6.85 和程序清單6.86。

程序清單6.85 實(shí)例初始化函數(shù)實(shí)現(xiàn)(am_hwconf_ds1302.c)

程序清單6.86 實(shí)例初始化函數(shù)聲明(am_hwconf_ds1302.h)

后續(xù)只需要使用無參數(shù)的實(shí)例初始化函數(shù),即可獲取到DS1302 的實(shí)例句柄。即:

3. 使用RTC 功能

使用RTC 功能即可使用RTC 通用接口操作DS1302 設(shè)置和獲取時間,在使用RTC 通用接口前,需要獲取一個am_rtc_handle_t 類型的RTC 句柄。DS1302 的驅(qū)動提供了相應(yīng)的接口用于獲取DS1302 的RTC 句柄,便于用戶通過RTC 通用接口操作DS1302,其函數(shù)原型為:

該函數(shù)意在獲取RTC 句柄,其中,DS1302 實(shí)例的句柄(ds1302_handle)作為實(shí)參傳遞給handle,p_rtc 為指向am_rtc_serv_t 類型實(shí)例的指針,無實(shí)例信息。定義am_rtc_serv_t 類型(am_rtc.h)實(shí)例如下:

其中,g_ds1302_rtc 為用戶自定義的實(shí)例,其地址作為p_rtc 的實(shí)參傳遞。

基于模塊化編程思想,將初始化相關(guān)的實(shí)例定義存放到對應(yīng)的配置文件中,通過頭文件引出實(shí)例初始化函數(shù)接口,源文件和頭文件分別詳見程序清單6.87 和程序清單6.88。

程序清單6.87 新增DS1302 的RTC 實(shí)例初始化函數(shù)(am_hwconf_ds1302.c)

程序清單6.88 am_hwconf_ds1302.h 文件內(nèi)容更新(1)

后續(xù)只需要使用無參數(shù)的RTC 實(shí)例初始化函數(shù),即可獲取RTC 實(shí)例句柄。即:

獲取handle 后,由于基于RTC 通用接口編寫的應(yīng)用程序是可以跨平臺復(fù)用的,因此可以直接基于DS1302 啟動如程序清單6.45 所示的RTC 時間顯示應(yīng)用程序。

程序清單6.89 啟動RTC 應(yīng)用程序(基于DS1302)

由此可見,若將RTC 模塊由PCF85063 更換為DS1302,則應(yīng)用程序核心代碼無需修改。

4. 為系統(tǒng)時間提供RTC 服務(wù)

由于DS1302 不支持鬧鐘功能,因此不能使用通用鬧鐘接口操作DS1302。若需要使用DS1302 為系統(tǒng)時間提供RTC 服務(wù),只需要在初始化系統(tǒng)時間時,將從 DS1302 中獲取的RTC 句柄作為系統(tǒng)時間初始化函數(shù)的rtc_handle 參數(shù)。即:

為方便使用特將初始化函數(shù)的調(diào)用添加到配置文件中,通過頭文件引出系統(tǒng)時間的實(shí)例初始化函數(shù)接口,詳見程序清單6.90 和程序清單6.91。

程序清單6.90 DS1302 用作系統(tǒng)時間的實(shí)例初始化(am_hwconf_ds1302.c)

程序清單6.91 am_hwconf_ds1302.h 文件內(nèi)容更新(2)

后續(xù)只需要簡單的調(diào)用該無參函數(shù),即可完成系統(tǒng)時間的初始化。即:

系統(tǒng)時間初始化后,由于基于系統(tǒng)時間通用接口編寫的應(yīng)用程序是可重用的,因此可以直接基于DS1302 啟動如程序清單6.65 所示的系統(tǒng)時間測試應(yīng)用程序,詳見程序清單6.92。

程序清單6.92 啟動系統(tǒng)時間測試應(yīng)用程序(基于DS1302)

顯然,若將RTC 模塊由PCF85063 更換為DS1302,使用系統(tǒng)時間的應(yīng)用程序無需修改。

5. 特殊功能控制接口

除典型的實(shí)時時鐘功能外,DS1302 還具有一些特殊功能,比如,涓流充電功能、31 字節(jié)RAM 等。這些功能由于不是通用功能,只能使用DS1302 相應(yīng)的接口操作。以讀寫RAM和涓流充電功能為例,其相應(yīng)的接口函數(shù)詳見表6.16。

表6.16 DS1302 特殊功能控制接口(am_ds1302.h)

(1)寫入RAM

該函數(shù)用于寫入數(shù)據(jù)到DS1302 的RAM 中(最多可寫入31 字節(jié)數(shù)據(jù)),其函數(shù)原型為:

其中,handle 為DS1302 實(shí)例句柄,p_data 指向待寫入數(shù)據(jù)的首地址,data_len 指定寫入數(shù)據(jù)的字節(jié)數(shù),最大為31 字節(jié),pos 指定了寫入RAM 的起始地址,DS1302 的RAM 空間大小為31 字節(jié),對應(yīng)的地址為0 ~ 30,pos 的有效范圍即為0 ~ 30。若返回AM_OK,表示數(shù)據(jù)寫入成功,反之失敗,寫入31 字節(jié)數(shù)據(jù)至RAM 中的范例程序詳見程序清單6.93。

程序清單6.93 寫入RAM 范例程序

(2)讀取RAM

該函數(shù)用于讀取存于DS1302 的 RAM 中的數(shù)據(jù),其函數(shù)原型為:

其中,handle 為DS1302 實(shí)例句柄,p_data 為輸出參數(shù),用于返回讀取的數(shù)據(jù),data_len表示讀取數(shù)據(jù)的字節(jié)數(shù),pos 表示讀取數(shù)據(jù)的起始地址(0 ~ 30)。若返回AM_OK,表示讀取成功,反之失敗,范例程序詳見程序清單6.94。

程序清單6.94 讀取RAM 范例程序

可以使用讀寫RAM 接口簡單驗(yàn)證DS1302 是否正常,詳見程序清單6.95。

程序清單6.95 讀寫RAM 數(shù)據(jù)范例程序

(3)使能涓流充電

DS1302 具有雙電源供電,當(dāng)芯片由VCC2 供電時,可以通過可編程涓流充電器,使VCC2向VCC1 流入很小的電流,以便為連接到VCC1 的電池充電。使能涓流充電的函數(shù)原型為:

其中,handle 為DS1302 實(shí)例句柄,set_val 為可編程涓流充電器的控制參數(shù),可以控制充電的電流。充電電路的示意圖詳見圖6.10。

圖6.10 DS1302 充電電路示意圖

當(dāng)總開關(guān)打開后,充電電流的大小是由選擇的二極管個數(shù)(1 個或2 個)和電阻阻值(2KΩ、4KΩ 或8KΩ)決定的。二極管的個數(shù)決定了電壓的壓降,電流的計算公式為:

set_val 可用的值已經(jīng)使用宏進(jìn)行了定義,詳見表6.17實(shí)際使用時,應(yīng)該根據(jù)需要的電流大小選擇其中一個宏作為set_val 的值。

表6.17 充電電路設(shè)置標(biāo)志

比如,若選擇1 個二極管、2K電阻,則應(yīng)該將set_val 的值設(shè)置為:

AM_DS1302_TRICKLE_1D_2K

由于在MicroPort-DS1302 中,VCC2 的值為3.3V,因此此時的實(shí)際電流計算公式為:

當(dāng)VCC1 為0 時(電池電量完全耗盡)時,則電流達(dá)到最大值,其值為:

這就要求電池支持的最大充電電流為1.3mA。實(shí)際中,隨著對電池的充電,電池電量增加,VCC1 會逐漸增加,充電電流也隨之逐漸減小。范例程序詳見程序清單6.96。

程序清單6.96 使能涓流充電范例程序

(3)禁能涓流充電

當(dāng)不需要充電時,如使用的非充電電池,可以使用該接口禁能涓流充電,其函數(shù)原型為:

其中,handle 為DS1302 實(shí)例句柄,范例程序詳見程序清單6.97。

程序清單6.97 禁能涓流充電范例程序

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • DS1302
    +關(guān)注

    關(guān)注

    8

    文章

    449

    瀏覽量

    50550
  • RTC
    RTC
    +關(guān)注

    關(guān)注

    2

    文章

    519

    瀏覽量

    66151
  • 周立功
    +關(guān)注

    關(guān)注

    38

    文章

    130

    瀏覽量

    37536

原文標(biāo)題:周立功:重用外設(shè)驅(qū)動代碼—— RTC 實(shí)時時鐘(2)

文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    實(shí)時示波器的技術(shù)原理和應(yīng)用場景

    實(shí)時示波器是一種高性能的電子測量儀器,其技術(shù)原理和應(yīng)用場景對于電子工程和通信技術(shù)領(lǐng)域具有重要意義。以下是對實(shí)時示波器的技術(shù)原理和應(yīng)用場景的詳細(xì)解釋:一、技術(shù)原理
    發(fā)表于 10-23 14:22

    實(shí)時時鐘芯片RTC

    FRTC8563是NYFEA徠飛公司推出的一款實(shí)時時鐘芯片,采用SOP-8封裝形式。這種封裝形式具有體積小、引腳間距小、便于集成等特點(diǎn),使得FRTC8563能夠方便地應(yīng)用于各種電子設(shè)備中
    的頭像 發(fā)表于 10-22 11:33 ?104次閱讀

    使用實(shí)時時鐘

    電子發(fā)燒友網(wǎng)站提供《使用實(shí)時時鐘庫.pdf》資料免費(fèi)下載
    發(fā)表于 10-22 10:09 ?0次下載
    使用<b class='flag-5'>實(shí)時時鐘</b>庫

    RTC時鐘芯片的特性及應(yīng)用場景

    FRTC8563是一款實(shí)時時鐘RTC)芯片,它采用SOP-8封裝,這種封裝形式使得芯片具有較小的體積和良好的引腳連接穩(wěn)定性,便于集成到各種電子設(shè)備中。 以下是關(guān)于FRTC8563芯片的一些主要特性
    的頭像 發(fā)表于 09-09 14:24 ?326次閱讀
    <b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>芯片的特性及應(yīng)<b class='flag-5'>用場景</b>

    適用于智能門鎖的低功耗RTC實(shí)時時鐘模塊RX8010SJ

    隨著智能家居的普及,智能門鎖已成為保障家庭安全的重要設(shè)備。作為智能門鎖的關(guān)鍵組件之一,實(shí)時時鐘RTC)模塊負(fù)責(zé)提供準(zhǔn)確的時間基準(zhǔn),確保門鎖的各種時間相關(guān)功能正常運(yùn)行。一款適用于智能門鎖的低功耗
    的頭像 發(fā)表于 08-28 14:29 ?238次閱讀
    適用于智能門鎖的低功耗<b class='flag-5'>RTC</b><b class='flag-5'>實(shí)時時鐘</b>模塊RX8010SJ

    bq32000實(shí)時時鐘(RTC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《bq32000實(shí)時時鐘(RTC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 11:23 ?0次下載
    bq32000<b class='flag-5'>實(shí)時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表

    BQ32002實(shí)時時鐘(RTC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《BQ32002實(shí)時時鐘(RTC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 11:23 ?0次下載
    BQ32002<b class='flag-5'>實(shí)時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表

    bq3285E/L實(shí)時時鐘(RTC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《bq3285E/L實(shí)時時鐘(RTC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 11:22 ?0次下載
    bq3285E/L<b class='flag-5'>實(shí)時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表

    bq3285實(shí)時時鐘(RTC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《bq3285實(shí)時時鐘(RTC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 11:21 ?0次下載
    bq3285<b class='flag-5'>實(shí)時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表

    DP8573A實(shí)時時鐘(RTC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DP8573A實(shí)時時鐘(RTC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 10:11 ?0次下載
    DP8573A<b class='flag-5'>實(shí)時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表

    TCXO RTC實(shí)時時鐘模塊的特性

    高精度實(shí)時時鐘模塊內(nèi)建TCXO數(shù)字式實(shí)時時鐘模塊的特征【序文】時間是我們?nèi)粘I钪械幕靖拍?。火車運(yùn)行管理、進(jìn)出場管理等各種處理系統(tǒng)和應(yīng)用程序按照時間信息工作。在金融、股市領(lǐng)域中,時間操縱著巨大利益
    的頭像 發(fā)表于 08-14 11:44 ?236次閱讀
    TCXO <b class='flag-5'>RTC</b><b class='flag-5'>實(shí)時時鐘</b>模塊的特性

    RTC實(shí)時時鐘的基本概念和工作原理

    在現(xiàn)代電子設(shè)備中,精確的時間管理和控制是至關(guān)重要的。為了實(shí)現(xiàn)這一功能,實(shí)時時鐘RTC, Real-Time Clock)模塊被廣泛應(yīng)用于各種設(shè)備和系統(tǒng)中。RTC模塊作為一個獨(dú)立的定時器,能夠提供
    的頭像 發(fā)表于 05-27 15:43 ?3128次閱讀

    FRTC8563時鐘芯片的主要特性和應(yīng)用場景

    FRTC8563是一款實(shí)時時鐘RTC)芯片,它采用SOP-8封裝,這種封裝形式使得芯片具有較小的體積和良好的引腳連接穩(wěn)定性,便于集成到各種電子設(shè)備中。 以下是關(guān)于FRTC8563芯片的一些主要特性
    的頭像 發(fā)表于 04-30 10:27 ?458次閱讀
    FRTC8563<b class='flag-5'>時鐘</b>芯片的主要特性和應(yīng)<b class='flag-5'>用場景</b>

    愛普生實(shí)時時鐘模塊RTC

    愛普生是一家IC和晶體自主研發(fā)的公司,有自己的IC和晶振產(chǎn)線。所以我們能將RTC IC+晶體單元+外結(jié)電容封裝在一起,組成獨(dú)立RTC模塊。外圍不需要在接晶體和匹配電容。愛普生RTC能夠簡化客戶
    發(fā)表于 04-17 11:10 ?0次下載

    Arduino篇—實(shí)時時鐘

    DS1307時鐘模塊:** DS1307串行實(shí)時時鐘RTC)是低功耗,全二進(jìn)制編碼的十進(jìn)制(BCD)時鐘/日歷以及56字節(jié)的NV SRAM。
    的頭像 發(fā)表于 11-01 16:49 ?1992次閱讀
    Arduino篇—<b class='flag-5'>實(shí)時時鐘</b>