RT-Thread DS3231驅動軟件包

DS3231 驅動軟件包


1 介紹

ds3231軟件包是針對RT-Thread驅動框架實現的實時時鐘驅動,遵循RT-Thread RTC框架,可以從芯片內置RTC無縫切換使用外置高精度ds3231 RTC。軟件包支持實時時鐘和鬧鐘功能。

1.1 目錄結構

名稱 說明
ds3231.h 頭文件
ds3231.c 源文件
README.md 軟件包使用說明
ds3231_datasheet.pdf 芯片中文手冊
SConscript RT-Thread默認構建腳本
LICENSE 許可證文件

1.2 許可證

ds3231 軟件包遵循 Apache license v2.0 許可,詳見 LICENSE 文件。

1.3 依賴

  • RT-Thread 3.0+
  • RT-Thread I2C設備驅動框架
  • RT-Thread RTC設備驅動框架

2 獲取 ds3231軟件包

使用 ds3231 package 需要在 RT-Thread 的包管理器中選擇它,具體路徑如下:

RT-Thread online packages --->
    peripheral libraries and drivers --->
        [*] extren rtc drivers  --->
            [*] ds3231:External RTC drivers fo ds3231
                 Version (latest)  --->

然後讓 RT-Thread 的包管理器自動更新,或者使用 pkgs --update 命令更新包到 BSP 中。


3 使用 ds3231 軟件包

3.1 初始化

首先需初始化ds3231驅動,可以手動在初始化線程調用“rt_hw_ds3231_init()”初始化,也可以直接使用“INIT_DEVICE_EXPORT”自動初始化。

注意:如果開啓了芯片內部RTC,需先禁止內部RTC

3.2 使用方式

獲取當前時間

time_t time(time_t *t)
time_t now;      
now = time(RT_NULL);

設置時間

 #define RT_DEVICE_CTRL_RTC_SET_TIME     0x11        /**< set time */
 rt_err_t rt_device_control(rt_device_t dev, int cmd, void *arg);

獲取鬧鐘時間

 #define RT_DEVICE_CTRL_RTC_GET_ALARM    0x12        /**< get alarm */
 rt_err_t rt_device_control(rt_device_t dev, int cmd, void *arg);

設置鬧鐘時間

 #define RT_DEVICE_CTRL_RTC_SET_ALARM    0x13      /**< set alarm */
 rt_err_t rt_device_control(rt_device_t dev, int cmd, void *arg);

提供一個獲取內部溫度接口

float ds3231_get_temperature(void);

詳細用法可以參考“/components/drivers/rtc.c”和“/components/drivers/alarm.c”源碼。

3.3 msh/finsh測試

/*msh獲取時間*/
msh >date
Sun Mar  1 12:01:13 2020
........
/*msh設置時間*/
msh >date 2020 03 01 20 00 00 
msh >date
Sun Mar  1 20:00:03 2020
........
/*finsh獲取時間*/
finsh >list_date()
Sun Mar  1 20:17:13 2020
........
/*finsh設置時間*/
finsh >set_date(2020,3,2)
        0, 0x00000000
finsh >set_time(12,0,0)  
        0, 0x00000000
finsh >list_date()
Mon Mar  2 12:00:04 2020
........
/*msh打印溫度*/
msh >list_ds31_temp
ds3231 temperature: [29.0C]
........
/*finsh打印溫度*/
finsh >list_ds31_temp()
ds3231 temperature: [29.0C] 

4 注意事項

使用RT-Thread的RTC框架,RTC設備註冊名稱爲“rtc”,注意需先屏蔽內置芯片RTC驅動。


5 聯繫方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章