mbed library sources. Supersedes mbed-src. Fixed broken STM32F1xx RTC on rtc_api.c

Dependents:   Nucleo_F103RB_RTC_battery_bkup_pwr_off_okay

Fork of mbed-dev by mbed official

Committer:
maxxir
Date:
Tue Nov 07 16:46:29 2017 +0000
Revision:
177:619788de047e
Parent:
149:156823d33999
To fix broken RTC on Nucleo_F103RB / STM32F103 BluePill etc..;  Used direct RTC register manipulation for STM32F1xx;  rtc_read() && rtc_write()  (native rtc_init() - works good);  also added stub for non-working on STM32F1xx rtc_read_subseconds().

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 80:bdf1132a57cf 1 /* mbed Microcontroller Library
mbed_official 80:bdf1132a57cf 2 * Copyright (c) 2006-2015 ARM Limited
mbed_official 80:bdf1132a57cf 3 *
mbed_official 80:bdf1132a57cf 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 80:bdf1132a57cf 5 * you may not use this file except in compliance with the License.
mbed_official 80:bdf1132a57cf 6 * You may obtain a copy of the License at
mbed_official 80:bdf1132a57cf 7 *
mbed_official 80:bdf1132a57cf 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 80:bdf1132a57cf 9 *
mbed_official 80:bdf1132a57cf 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 80:bdf1132a57cf 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 80:bdf1132a57cf 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 80:bdf1132a57cf 13 * See the License for the specific language governing permissions and
mbed_official 80:bdf1132a57cf 14 * limitations under the License.
mbed_official 80:bdf1132a57cf 15 */
mbed_official 80:bdf1132a57cf 16 #ifndef MBED_PERIPHERALNAMES_H
mbed_official 80:bdf1132a57cf 17 #define MBED_PERIPHERALNAMES_H
mbed_official 80:bdf1132a57cf 18
mbed_official 80:bdf1132a57cf 19 #include "cmsis.h"
mbed_official 80:bdf1132a57cf 20
mbed_official 80:bdf1132a57cf 21 #ifdef __cplusplus
mbed_official 80:bdf1132a57cf 22 extern "C" {
mbed_official 80:bdf1132a57cf 23 #endif
mbed_official 80:bdf1132a57cf 24
mbed_official 80:bdf1132a57cf 25 typedef enum {
mbed_official 80:bdf1132a57cf 26 UART_0 = (int)CMSDK_UART1_BASE,
mbed_official 80:bdf1132a57cf 27 UART_1 = (int)CMSDK_UART3_BASE,
mbed_official 80:bdf1132a57cf 28 UART_2 = (int)CMSDK_UART0_BASE,
mbed_official 80:bdf1132a57cf 29 UART_3 = (int)CMSDK_UART2_BASE
mbed_official 80:bdf1132a57cf 30 } UARTName;
mbed_official 80:bdf1132a57cf 31
mbed_official 80:bdf1132a57cf 32 typedef enum {
mbed_official 80:bdf1132a57cf 33 I2C_0 = (int)MPS2_TSC_I2C_BASE,
mbed_official 80:bdf1132a57cf 34 I2C_1 = (int)MPS2_AAIC_I2C_BASE,
mbed_official 80:bdf1132a57cf 35 I2C_2 = (int)MPS2_SHIELD0_I2C_BASE,
mbed_official 80:bdf1132a57cf 36 I2C_3 = (int)MPS2_SHIELD1_I2C_BASE
mbed_official 80:bdf1132a57cf 37
mbed_official 80:bdf1132a57cf 38 } I2CName;
mbed_official 80:bdf1132a57cf 39
mbed_official 80:bdf1132a57cf 40 typedef enum {
mbed_official 80:bdf1132a57cf 41 ADC0_0 = 0,
mbed_official 80:bdf1132a57cf 42 ADC0_1,
mbed_official 80:bdf1132a57cf 43 ADC0_2,
mbed_official 80:bdf1132a57cf 44 ADC0_3,
mbed_official 80:bdf1132a57cf 45 ADC0_4,
mbed_official 80:bdf1132a57cf 46 ADC0_5,
mbed_official 80:bdf1132a57cf 47 ADC0_6,
mbed_official 80:bdf1132a57cf 48 ADC0_7,
mbed_official 80:bdf1132a57cf 49 ADC0_8,
mbed_official 80:bdf1132a57cf 50 ADC0_9,
mbed_official 80:bdf1132a57cf 51 ADC0_10,
mbed_official 80:bdf1132a57cf 52 ADC0_11
mbed_official 80:bdf1132a57cf 53 } ADCName;
mbed_official 80:bdf1132a57cf 54
mbed_official 80:bdf1132a57cf 55 typedef enum {
mbed_official 80:bdf1132a57cf 56 SPI_0 = (int)MPS2_SSP0_BASE,
mbed_official 80:bdf1132a57cf 57 SPI_1 = (int)MPS2_SSP1_BASE,
mbed_official 80:bdf1132a57cf 58 SPI_2 = (int)MPS2_SSP2_BASE,
mbed_official 80:bdf1132a57cf 59 SPI_3 = (int)MPS2_SSP3_BASE,
mbed_official 80:bdf1132a57cf 60 SPI_4 = (int)MPS2_SSP4_BASE
mbed_official 80:bdf1132a57cf 61 } SPIName;
mbed_official 80:bdf1132a57cf 62
mbed_official 80:bdf1132a57cf 63 typedef enum {
mbed_official 80:bdf1132a57cf 64 PWM_1 = 0,
mbed_official 80:bdf1132a57cf 65 PWM_2,
mbed_official 80:bdf1132a57cf 66 PWM_3,
mbed_official 80:bdf1132a57cf 67 PWM_4,
mbed_official 80:bdf1132a57cf 68 PWM_5,
mbed_official 80:bdf1132a57cf 69 PWM_6,
mbed_official 80:bdf1132a57cf 70 PWM_7,
mbed_official 80:bdf1132a57cf 71 PWM_8,
mbed_official 80:bdf1132a57cf 72 PWM_9,
mbed_official 80:bdf1132a57cf 73 PWM_10,
mbed_official 80:bdf1132a57cf 74 PWM_11
mbed_official 80:bdf1132a57cf 75 } PWMName;
mbed_official 80:bdf1132a57cf 76
mbed_official 80:bdf1132a57cf 77 #define STDIO_UART_TX USBTX
mbed_official 80:bdf1132a57cf 78 #define STDIO_UART_RX USBRX
mbed_official 80:bdf1132a57cf 79 #define STDIO_UART UART_0
mbed_official 80:bdf1132a57cf 80
mbed_official 80:bdf1132a57cf 81 #define MBED_UART0 USBTX, USBRX
mbed_official 80:bdf1132a57cf 82 #define MBED_UART1 XB_TX, XB_RX
mbed_official 80:bdf1132a57cf 83 #define MBED_UART2 SH0_TX, SH0_RX
mbed_official 80:bdf1132a57cf 84 #define MBED_UART3 SH1_TX, SH1_RX
mbed_official 80:bdf1132a57cf 85 #define MBED_UARTUSB USBTX, USBRX
mbed_official 80:bdf1132a57cf 86
mbed_official 80:bdf1132a57cf 87 #ifdef __cplusplus
mbed_official 80:bdf1132a57cf 88 }
mbed_official 80:bdf1132a57cf 89 #endif
mbed_official 80:bdf1132a57cf 90
mbed_official 80:bdf1132a57cf 91 #endif