diff options
author | barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2011-12-12 13:13:07 +0000 |
---|---|---|
committer | barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2011-12-12 13:13:07 +0000 |
commit | dd834361e8d805cf5ecf89bcdc15b08f60268e76 (patch) | |
tree | 0ed6b741781f87b078f8d3b71bf99f7e7309fb0b /testhal/STM32F1xx | |
parent | 527ef56ed39ada4b393062184144c33a86dbac2c (diff) | |
download | ChibiOS-dd834361e8d805cf5ecf89bcdc15b08f60268e76.tar.gz ChibiOS-dd834361e8d805cf5ecf89bcdc15b08f60268e76.tar.bz2 ChibiOS-dd834361e8d805cf5ecf89bcdc15b08f60268e76.zip |
RTCv1 code cleanups and adding some safety checks.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3603 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'testhal/STM32F1xx')
-rw-r--r-- | testhal/STM32F1xx/RTC/main.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/testhal/STM32F1xx/RTC/main.c b/testhal/STM32F1xx/RTC/main.c index 19043a02a..e8e3480ec 100644 --- a/testhal/STM32F1xx/RTC/main.c +++ b/testhal/STM32F1xx/RTC/main.c @@ -24,7 +24,7 @@ RTCTime timespec;
RTCAlarm alarmspec;
-#define TEST_ALARM_WAKEUP TRUE
+#define TEST_ALARM_WAKEUP FALSE
#if TEST_ALARM_WAKEUP
@@ -63,8 +63,10 @@ int main(void) { #else /* TEST_ALARM_WAKEUP */
+/**
+ * Callback function for RTC.
+ */
static void my_cb(RTCDriver *rtcp, rtcevent_t event) {
-
(void)rtcp;
switch (event) {
@@ -77,21 +79,31 @@ static void my_cb(RTCDriver *rtcp, rtcevent_t event) { case RTC_EVENT_ALARM:
palTogglePad(GPIOC, GPIOC_LED);
rtcGetTime(&RTCD1, ×pec);
- alarmspec.tv_sec = timespec.tv_sec + 10;
+ alarmspec.tv_sec = timespec.tv_sec + 5;
rtcSetAlarm(&RTCD1, 0, &alarmspec);
break;
}
}
-int main(void) {
+/**
+ * Configuration structure with all callbacks supported by platform.
+ */
+static RTCCallbackConfig rtc_cb_cfg = {
+ my_cb
+};
+
+/**
+ * Main function.
+ */
+int main(void){
halInit();
chSysInit();
rtcGetTime(&RTCD1, ×pec);
- alarmspec.tv_sec = timespec.tv_sec + 10;
+ alarmspec.tv_sec = timespec.tv_sec + 5;
rtcSetAlarm(&RTCD1, 0, &alarmspec);
- rtcSetCallback(&RTCD1, my_cb);
+ rtcSetCallback(&RTCD1, &rtc_cb_cfg);
while (TRUE){
chThdSleepMilliseconds(500);
}
|