aboutsummaryrefslogtreecommitdiffstats
path: root/testhal/STM32F1xx/RTC/main.c
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-10-01 08:04:14 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-10-01 08:04:14 +0000
commit2950a0a7b8316a742a7a67b5acb4f224a98397ff (patch)
treef3c81f2ad4202021f05d419d44f3876d9be01950 /testhal/STM32F1xx/RTC/main.c
parentd2fa0e3fdee679a6cdd5dd6616aca527eca3f080 (diff)
downloadChibiOS-2950a0a7b8316a742a7a67b5acb4f224a98397ff.tar.gz
ChibiOS-2950a0a7b8316a742a7a67b5acb4f224a98397ff.tar.bz2
ChibiOS-2950a0a7b8316a742a7a67b5acb4f224a98397ff.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3413 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'testhal/STM32F1xx/RTC/main.c')
-rw-r--r--testhal/STM32F1xx/RTC/main.c44
1 files changed, 20 insertions, 24 deletions
diff --git a/testhal/STM32F1xx/RTC/main.c b/testhal/STM32F1xx/RTC/main.c
index 070ac50f2..ea7155f47 100644
--- a/testhal/STM32F1xx/RTC/main.c
+++ b/testhal/STM32F1xx/RTC/main.c
@@ -21,14 +21,11 @@
#include "ch.h"
#include "hal.h"
-
-RTCDateTime timespec;
-RTCDateTime alarmspec;
+RTCTime timespec;
+RTCAlarm alarmspec;
#define TEST_ALARM_WAKEUP FALSE
-
-
#if TEST_ALARM_WAKEUP
/* sleep indicator thread */
@@ -64,38 +61,37 @@ int main(void) {
return 0;
}
-
-
#else /* TEST_ALARM_WAKEUP */
-static void my_overflowcb(RTCDriver *rtcp){
- (void)rtcp;
- palTogglePad(IOPORT3, GPIOC_LED);
-}
+static void my_cb(RTCDriver *rtcp, rtcevent_t event) {
-static void my_secondcb(RTCDriver *rtcp){
(void)rtcp;
- //palTogglePad(IOPORT3, GPIOC_LED);
-}
-static void my_alarmcb(RTCDriver *rtcp){
- (void)rtcp;
- palTogglePad(IOPORT3, GPIOC_LED);
- rtcGetTime(&timespec);
- alarmspec.tv_sec = timespec.tv_sec + 10;
- rtcSetAlarm(&alarmspec);
+ switch (event) {
+ case RTC_EVENT_OVERFLOW:
+ palTogglePad(GPIOC, GPIOC_LED);
+ break;
+ case RTC_EVENT_SECOND:
+ //palTogglePad(GPIOC, GPIOC_LED);
+ break;
+ case RTC_EVENT_ALARM:
+ palTogglePad(GPIOC, GPIOC_LED);
+ rtcGetTime(&RTCD1, &timespec);
+ alarmspec.tv_sec = timespec.tv_sec + 10;
+ rtcSetAlarm(&RTCD1, 0, &alarmspec);
+ break;
+ }
}
-
int main(void) {
halInit();
chSysInit();
- rtcGetTime(&timespec);
+ rtcGetTime(&RTCD1, &timespec);
alarmspec.tv_sec = timespec.tv_sec + 10;
- rtcSetAlarm(&alarmspec);
+ rtcSetAlarm(&RTCD1, 0, &alarmspec);
- rtcSetCallback(&RTCD, my_overflowcb, my_secondcb, my_alarmcb);
+ rtcSetCallback(&RTCD1, my_cb);
while (TRUE){
chThdSleepMilliseconds(500);
}