Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ihbai
rt-thread
提交
b941e6c7
R
rt-thread
项目概览
ihbai
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b941e6c7
编写于
3月 19, 2019
作者:
Z
zylx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[bsp][stm32]添加 RTC 时钟源选择
上级
c9d88a8e
变更
21
隐藏空白更改
内联
并排
Showing
21 changed file
with
179 addition
and
29 deletion
+179
-29
bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
+39
-9
bsp/stm32/stm32f091-st-nucleo/README.md
bsp/stm32/stm32f091-st-nucleo/README.md
+1
-1
bsp/stm32/stm32f091-st-nucleo/board/Kconfig
bsp/stm32/stm32f091-st-nucleo/board/Kconfig
+13
-1
bsp/stm32/stm32f103-atk-nano/README.md
bsp/stm32/stm32f103-atk-nano/README.md
+1
-1
bsp/stm32/stm32f103-atk-nano/board/Kconfig
bsp/stm32/stm32f103-atk-nano/board/Kconfig
+13
-1
bsp/stm32/stm32f103-fire-arbitrary/README.md
bsp/stm32/stm32f103-fire-arbitrary/README.md
+1
-1
bsp/stm32/stm32f103-fire-arbitrary/board/Kconfig
bsp/stm32/stm32f103-fire-arbitrary/board/Kconfig
+13
-1
bsp/stm32/stm32f407-atk-explorer/README.md
bsp/stm32/stm32f407-atk-explorer/README.md
+1
-1
bsp/stm32/stm32f407-atk-explorer/board/Kconfig
bsp/stm32/stm32f407-atk-explorer/board/Kconfig
+13
-1
bsp/stm32/stm32f429-armfly-v6/README.md
bsp/stm32/stm32f429-armfly-v6/README.md
+1
-1
bsp/stm32/stm32f429-armfly-v6/board/Kconfig
bsp/stm32/stm32f429-armfly-v6/board/Kconfig
+13
-1
bsp/stm32/stm32f429-atk-apollo/README.md
bsp/stm32/stm32f429-atk-apollo/README.md
+1
-1
bsp/stm32/stm32f429-atk-apollo/board/Kconfig
bsp/stm32/stm32f429-atk-apollo/board/Kconfig
+13
-1
bsp/stm32/stm32f429-fire-challenger/README.md
bsp/stm32/stm32f429-fire-challenger/README.md
+1
-1
bsp/stm32/stm32f429-fire-challenger/board/Kconfig
bsp/stm32/stm32f429-fire-challenger/board/Kconfig
+13
-1
bsp/stm32/stm32f767-atk-apollo/README.md
bsp/stm32/stm32f767-atk-apollo/README.md
+1
-1
bsp/stm32/stm32f767-atk-apollo/board/Kconfig
bsp/stm32/stm32f767-atk-apollo/board/Kconfig
+13
-1
bsp/stm32/stm32f767-fire-challenger/README.md
bsp/stm32/stm32f767-fire-challenger/README.md
+1
-1
bsp/stm32/stm32f767-fire-challenger/board/Kconfig
bsp/stm32/stm32f767-fire-challenger/board/Kconfig
+13
-1
bsp/stm32/stm32l475-atk-pandora/README.md
bsp/stm32/stm32l475-atk-pandora/README.md
+1
-1
bsp/stm32/stm32l475-atk-pandora/board/Kconfig
bsp/stm32/stm32l475-atk-pandora/board/Kconfig
+13
-1
未找到文件。
bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
浏览文件 @
b941e6c7
...
...
@@ -68,11 +68,11 @@ static rt_err_t set_rtc_time_stamp(time_t time_stamp)
RTC_DateStruct
.
Year
=
p_tm
->
tm_year
-
100
;
RTC_DateStruct
.
WeekDay
=
p_tm
->
tm_wday
+
1
;
if
(
HAL_RTC_SetTime
(
&
RTC_Handler
,
&
RTC_TimeStruct
,
RTC_FORMAT_BIN
)
!=
HAL_OK
)
if
(
HAL_RTC_SetTime
(
&
RTC_Handler
,
&
RTC_TimeStruct
,
RTC_FORMAT_BIN
)
!=
HAL_OK
)
{
return
-
RT_ERROR
;
}
if
(
HAL_RTC_SetDate
(
&
RTC_Handler
,
&
RTC_DateStruct
,
RTC_FORMAT_BIN
)
!=
HAL_OK
)
if
(
HAL_RTC_SetDate
(
&
RTC_Handler
,
&
RTC_DateStruct
,
RTC_FORMAT_BIN
)
!=
HAL_OK
)
{
return
-
RT_ERROR
;
}
...
...
@@ -87,9 +87,17 @@ static void rt_rtc_init(void)
__HAL_RCC_PWR_CLK_ENABLE
();
RCC_OscInitTypeDef
RCC_OscInitStruct
=
{
0
};
#ifdef BSP_RTC_USING_LSI
RCC_OscInitStruct
.
OscillatorType
=
RCC_OSCILLATORTYPE_LSI
;
RCC_OscInitStruct
.
PLL
.
PLLState
=
RCC_PLL_NONE
;
RCC_OscInitStruct
.
LSEState
=
RCC_LSE_OFF
;
RCC_OscInitStruct
.
LSIState
=
RCC_LSI_ON
;
#else
RCC_OscInitStruct
.
OscillatorType
=
RCC_OSCILLATORTYPE_LSE
;
RCC_OscInitStruct
.
PLL
.
PLLState
=
RCC_PLL_NONE
;
RCC_OscInitStruct
.
LSEState
=
RCC_LSE_ON
;
RCC_OscInitStruct
.
LSIState
=
RCC_LSI_OFF
;
#endif
HAL_RCC_OscConfig
(
&
RCC_OscInitStruct
);
}
...
...
@@ -99,7 +107,11 @@ static rt_err_t rt_rtc_config(struct rt_device *dev)
HAL_PWR_EnableBkUpAccess
();
PeriphClkInitStruct
.
PeriphClockSelection
=
RCC_PERIPHCLK_RTC
;
#ifdef BSP_RTC_USING_LSI
PeriphClkInitStruct
.
RTCClockSelection
=
RCC_RTCCLKSOURCE_LSI
;
#else
PeriphClkInitStruct
.
RTCClockSelection
=
RCC_RTCCLKSOURCE_LSE
;
#endif
HAL_RCCEx_PeriphCLKConfig
(
&
PeriphClkInitStruct
);
RTC_Handler
.
Instance
=
RTC
;
...
...
@@ -110,13 +122,31 @@ static rt_err_t rt_rtc_config(struct rt_device *dev)
#if defined(SOC_SERIES_STM32F1)
RTC_Handler
.
Init
.
OutPut
=
RTC_OUTPUTSOURCE_NONE
;
RTC_Handler
.
Init
.
AsynchPrediv
=
RTC_AUTO_1_SECOND
;
#elif defined(SOC_SERIES_STM32F0) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32L4)
RTC_Handler
.
Init
.
AsynchPrediv
=
0X7F
;
#ifndef SOC_SERIES_STM32F0
RTC_Handler
.
Init
.
SynchPrediv
=
0XFF
;
#elif defined(SOC_SERIES_STM32F0)
/* set the frequency division */
#ifdef BSP_RTC_USING_LSI
RTC_Handler
.
Init
.
AsynchPrediv
=
0XA0
;
RTC_Handler
.
Init
.
SynchPrediv
=
0xFA
;
#else
RTC_Handler
.
Init
.
AsynchPrediv
=
0X7F
;
RTC_Handler
.
Init
.
SynchPrediv
=
0x0130
;
#endif
#endif
/* BSP_RTC_USING_LSI */
RTC_Handler
.
Init
.
HourFormat
=
RTC_HOURFORMAT_24
;
RTC_Handler
.
Init
.
OutPut
=
RTC_OUTPUT_DISABLE
;
RTC_Handler
.
Init
.
OutPutPolarity
=
RTC_OUTPUT_POLARITY_HIGH
;
RTC_Handler
.
Init
.
OutPutType
=
RTC_OUTPUT_TYPE_OPENDRAIN
;
#elif defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32L4)
/* set the frequency division */
#ifdef BSP_RTC_USING_LSI
RTC_Handler
.
Init
.
AsynchPrediv
=
0X7D
;
#else
RTC_Handler
.
Init
.
AsynchPrediv
=
0X7F
;
#endif
/* BSP_RTC_USING_LSI */
RTC_Handler
.
Init
.
SynchPrediv
=
0XFF
;
RTC_Handler
.
Init
.
HourFormat
=
RTC_HOURFORMAT_24
;
RTC_Handler
.
Init
.
OutPut
=
RTC_OUTPUT_DISABLE
;
RTC_Handler
.
Init
.
OutPutPolarity
=
RTC_OUTPUT_POLARITY_HIGH
;
...
...
@@ -142,7 +172,7 @@ static rt_err_t rt_rtc_control(rt_device_t dev, int cmd, void *args)
break
;
case
RT_DEVICE_CTRL_RTC_SET_TIME
:
if
(
set_rtc_time_stamp
(
*
(
rt_uint32_t
*
)
args
))
if
(
set_rtc_time_stamp
(
*
(
rt_uint32_t
*
)
args
))
{
result
=
-
RT_ERROR
;
}
...
...
@@ -154,7 +184,7 @@ static rt_err_t rt_rtc_control(rt_device_t dev, int cmd, void *args)
}
#ifdef RT_USING_DEVICE_OPS
const
static
struct
rt_device_ops
rtc_ops
=
const
static
struct
rt_device_ops
rtc_ops
=
{
RT_NULL
,
RT_NULL
,
...
...
bsp/stm32/stm32f091-st-nucleo/README.md
浏览文件 @
b941e6c7
...
...
@@ -46,7 +46,7 @@ STM32F091RC-NuCLEO 开发板是 ST 官方推出的一款基于 ARM Cortex-M0 内
| I2C | 支持 | |
| TIMER | 支持 | |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| PWM | 支持 | |
| FLASH | 支持 | |
| IWG | 支持 | |
...
...
bsp/stm32/stm32f091-st-nucleo/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -133,11 +133,23 @@ menu "On-chip Peripheral Drivers"
bool "Enable on-chip FLASH"
default n
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32f103-atk-nano/README.md
浏览文件 @
b941e6c7
...
...
@@ -46,7 +46,7 @@ ATK-NANO STM32F103 是正点原子推出的一款基于 ARM Cortex-M3 内核的
| UART | 支持 | UART1/2/3 |
| SPI | 支持 | SPI1/2 |
| I2C | 支持 | 软件 I2C |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| ADC | 支持 | |
| FLASH | 支持 | 已适配
[
FAL
](
https://github.com/RT-Thread-packages/fal
)
|
...
...
bsp/stm32/stm32f103-atk-nano/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -178,11 +178,23 @@ menu "On-chip Peripheral Drivers"
bool "Enable on-chip FLASH"
default n
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32f103-fire-arbitrary/README.md
浏览文件 @
b941e6c7
...
...
@@ -54,7 +54,7 @@
| SPI | 支持 | SPI1/2/3 |
| I2C | 支持 | 软件 I2C |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| FLASH | 支持 | 已适配
[
FAL
](
https://github.com/RT-Thread-packages/fal
)
|
| SDIO | 暂不支持 | 即将支持 |
...
...
bsp/stm32/stm32f103-fire-arbitrary/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -250,11 +250,23 @@ menu "On-chip Peripheral Drivers"
default n
endif
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32f407-atk-explorer/README.md
浏览文件 @
b941e6c7
...
...
@@ -53,7 +53,7 @@
| SPI | 支持 | SPI1/2/3 |
| I2C | 支持 | 软件 I2C |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| FLASH | 支持 | 已适配
[
FAL
](
https://github.com/RT-Thread-packages/fal
)
|
| PWM | 支持 | |
...
...
bsp/stm32/stm32f407-atk-explorer/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -193,11 +193,23 @@ menu "On-chip Peripheral Drivers"
default 25
endif
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32f429-armfly-v6/README.md
浏览文件 @
b941e6c7
...
...
@@ -54,7 +54,7 @@ armfly-v6 STM32F429 是安富莱推出的一款基于 ARM Cortex-M4 内核的开
| SPI | 支持 | SPI1/2/5 |
| I2C | 支持 | 软件 I2C |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| FLASH | 支持 | 已适配
[
FAL
](
https://github.com/RT-Thread-packages/fal
)
|
| SDIO | 支持 | |
...
...
bsp/stm32/stm32f429-armfly-v6/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -182,11 +182,23 @@ menu "On-chip Peripheral Drivers"
default n
endif
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32f429-atk-apollo/README.md
浏览文件 @
b941e6c7
...
...
@@ -54,7 +54,7 @@
| SPI | 支持 | SPI1/2/5 |
| I2C | 支持 | 软件 I2C |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| FLASH | 支持 | 已适配
[
FAL
](
https://github.com/RT-Thread-packages/fal
)
|
| SDIO | 支持 | |
...
...
bsp/stm32/stm32f429-atk-apollo/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -219,11 +219,23 @@ menu "On-chip Peripheral Drivers"
default n
endif
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32f429-fire-challenger/README.md
浏览文件 @
b941e6c7
...
...
@@ -55,7 +55,7 @@
| SPI | 支持 | SPI1/2/5 |
| I2C | 支持 | 软件 I2C |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| FLASH | 支持 | 已适配
[
FAL
](
https://github.com/RT-Thread-packages/fal
)
|
| SDIO | 暂不支持 | 即将支持 |
...
...
bsp/stm32/stm32f429-fire-challenger/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -204,11 +204,23 @@ menu "On-chip Peripheral Drivers"
default 23
endif
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32f767-atk-apollo/README.md
浏览文件 @
b941e6c7
...
...
@@ -55,7 +55,7 @@
| SPI | 支持 | |
| I2C | 支持 | 软件 I2C |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| PWM | 支持 | |
| SDIO | 支持 | |
...
...
bsp/stm32/stm32f767-atk-apollo/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -216,11 +216,23 @@ menu "On-chip Peripheral Drivers"
default 117
endif
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32f767-fire-challenger/README.md
浏览文件 @
b941e6c7
...
...
@@ -56,7 +56,7 @@
| SPI | 支持 | SPI1/x/x |
| I2C | 支持 | 软件 I2C |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| FLASH | 支持 | 已适配
[
FAL
](
https://github.com/RT-Thread-packages/fal
)
|
| SDIO | 支持 | |
...
...
bsp/stm32/stm32f767-fire-challenger/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -188,11 +188,23 @@ menuconfig BSP_USING_SPI
default 23
endif
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
bsp/stm32/stm32l475-atk-pandora/README.md
浏览文件 @
b941e6c7
...
...
@@ -65,7 +65,7 @@
| I2C | 支持 | |
| TIM | 支持 | |
| ADC | 支持 | |
| RTC | 支持 |
|
| RTC | 支持 |
支持外部晶振和内部低速时钟
|
| WDT | 支持 | |
| PWM | 支持 | |
| USB Device | 暂不支持 | 即将支持 |
...
...
bsp/stm32/stm32l475-atk-pandora/board/Kconfig
浏览文件 @
b941e6c7
...
...
@@ -210,11 +210,23 @@ menu "On-chip Peripheral Drivers"
default n
endif
config BSP_USING_ONCHIP_RTC
menu
config BSP_USING_ONCHIP_RTC
bool "Enable RTC"
select RT_USING_RTC
select RT_USING_LIBC
default n
if BSP_USING_ONCHIP_RTC
choice
prompt "Select clock source"
default BSP_RTC_USING_LSE
config BSP_RTC_USING_LSE
bool "RTC USING LSE"
config BSP_RTC_USING_LSI
bool "RTC USING LSI"
endchoice
endif
config BSP_USING_WDT
bool "Enable Watchdog Timer"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录