aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/platforms/STM32/RTCv2/rtc_lld.c6
-rw-r--r--testhal/STM32F4xx/RTC/main.c8
2 files changed, 8 insertions, 6 deletions
diff --git a/os/hal/platforms/STM32/RTCv2/rtc_lld.c b/os/hal/platforms/STM32/RTCv2/rtc_lld.c
index 870734fba..84295bd76 100644
--- a/os/hal/platforms/STM32/RTCv2/rtc_lld.c
+++ b/os/hal/platforms/STM32/RTCv2/rtc_lld.c
@@ -105,8 +105,10 @@ void rtc_lld_init(void){
rtc_lld_enter_init();
/* Prescaler register must be written in two SEPARATE writes. */
- RTCD1.id_rtc->PRER = prediv_a << 16;
- RTCD1.id_rtc->PRER = ((STM32_RTCCLK / (prediv_a + 1)) - 1) & 0x7FFF;
+ prediv_a = (prediv_a << 16) |
+ (((STM32_RTCCLK / (prediv_a + 1)) - 1) & 0x7FFF);
+ RTCD1.id_rtc->PRER = prediv_a;
+ RTCD1.id_rtc->PRER = prediv_a;
rtc_lld_exit_init();
}
}
diff --git a/testhal/STM32F4xx/RTC/main.c b/testhal/STM32F4xx/RTC/main.c
index ce3e7f13f..c3d54850c 100644
--- a/testhal/STM32F4xx/RTC/main.c
+++ b/testhal/STM32F4xx/RTC/main.c
@@ -87,7 +87,7 @@ static void func_sleep(void){
__WFI();
}
-static void cmd_sleep(BaseChannel *chp, int argc, char *argv[]){
+static void cmd_sleep(BaseSequentialStream *chp, int argc, char *argv[]){
(void)argv;
if (argc > 0) {
chprintf(chp, "Usage: sleep\r\n");
@@ -104,7 +104,7 @@ static void cmd_sleep(BaseChannel *chp, int argc, char *argv[]){
/*
*
*/
-static void cmd_alarm(BaseChannel *chp, int argc, char *argv[]){
+static void cmd_alarm(BaseSequentialStream *chp, int argc, char *argv[]){
int i = 0;
(void)argv;
@@ -138,7 +138,7 @@ ERROR:
/*
*
*/
-static void cmd_date(BaseChannel *chp, int argc, char *argv[]){
+static void cmd_date(BaseSequentialStream *chp, int argc, char *argv[]){
(void)argv;
struct tm timp;
@@ -198,7 +198,7 @@ static const ShellCommand commands[] = {
};
static const ShellConfig shell_cfg1 = {
- (BaseChannel *)&SD2,
+ (BaseSequentialStream *)&SD2,
commands
};