Инструменты пользователя

Инструменты сайта


chibios:hal:realtimeclock

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

chibios:hal:realtimeclock [2014/10/29 09:11]
Ruslan Popov создано
chibios:hal:realtimeclock [2014/10/29 16:07] (текущий)
Ruslan Popov
Строка 1: Строка 1:
 +====== RTC - Часы реального времени ======
  
 +В ChibiOS есть две версии драйвера RTC: первая версия предназначена для серии F1xx, вторая для остальных.
 +
 +Предполагается,​ что:
 +
 +  * на плате распаян кристалл на 32768КГц и пара конденсаторов на 6.8пФ;
 +  * вы знакомы с соответствующими разделами документации.
 +
 +Активируем RTC и указываем источник синхронизации:​
 +
 +<file halconf.h>​
 +#define HAL_USE_RTC ​        ​TRUE</​file>​
 +
 +<file mcuconf.h>​
 +#define STM32_LSE_ENABLED ​  TRUE
 +#define STM32_RTCSEL ​       STM32_RTCSEL_LSE</​file>​
 +
 +Дополнительные функции для работы с RTC расположены в файле ''​chrtclib.h'',​ не забываем подключить его в ''​Makefile''​.
 +
 +Определяем время и дату для холодного старта:​
 +
 +<file main.c>​struct tm TM = {0, 05, 14, 16, 3, 114, 3, 0, 0};
 +rtcSetTimeTm(&​RTCD1,​ &​TM);</​file>​
 +
 +RTC позволяет назначит обработчик,​ который будет вызываться на разные события:​
 +
 +<file main.c>​static void rtc_cb(RTCDriver *rtcp, rtcevent_t event) {
 +  (void)rtcp;
 +  switch (event) {
 +  case RTC_EVENT_OVERFLOW:​
 +    break;
 +  case RTC_EVENT_SECOND:​
 +    break;
 +  case RTC_EVENT_ALARM:​
 +    break;
 +  }
 +}
 + 
 +rtcSetCallback(&​RTCD1,​ rtc_cb);</​file>​
 +
 +Дальше всё зависит от задачи…
 +
 +{{:​img_20140425_151459.jpg|}}
 +
 +~~DISQUS~~
chibios/hal/realtimeclock.txt · Последние изменения: 2014/10/29 16:07 — Ruslan Popov