1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/RT-Thread-Mirror-rtt-ds3231

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

DS3231 驱动软件包

1. Введение

DS3231 — это программное обеспечение для работы с часами реального времени (RTC), разработанное на основе RT-Thread. Оно следует структуре RTC в RT-Thread и позволяет бесшовно переключаться между встроенным RTC чипа и внешним высокоточным DS3231 RTC. Программное обеспечение поддерживает функции часов реального времени и будильника.

1.1 Структура каталога

Название Описание
ds3231.h Заголовочный файл
ds3231.c Исходный файл
README.md Инструкция по использованию программного обеспечения
ds3231_datasheet.pdf Руководство по чипу на китайском языке
SConscript Стандартный скрипт сборки для RT-Thread
LICENSE Файл лицензии

1.2 Лицензия

Программное обеспечение DS3231 соответствует лицензии Apache v2.0, подробности см. в файле LICENSE.

1.3 Зависимости

  • RT-Thread 3.0+
  • I2C устройства RT-Thread
  • RTC устройства RT-Thread

2. Получение пакета DS3231

Чтобы использовать пакет DS3231, выберите его в диспетчере пакетов 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. Примечания

При использовании RTC-фреймворка RT-Thread имя устройства RTC зарегистрировано как «rtc», обратите внимание, что встроенный RTC чипа должен быть отключён заранее.

5. Контакты

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/RT-Thread-Mirror-rtt-ds3231.git
git@api.gitlife.ru:oschina-mirror/RT-Thread-Mirror-rtt-ds3231.git
oschina-mirror
RT-Thread-Mirror-rtt-ds3231
RT-Thread-Mirror-rtt-ds3231
master