stm32103时钟配置
时间: 2023-11-13 19:43:07 浏览: 37
在STM32F103单片机中,时钟配置主要涉及外部晶振和内部时钟的选择。根据引用所述,如果使用ST的固件库,在使用8M的晶振时,时钟会自动配置为72M的全速运行状态。而使用16M晶振时,需要对代码进行修改,将输入时钟二分频为8M,再进行9倍频到72M,以保持与使用8M时的运行状态一致。此外,还可以通过添加代码在debug模式下显示系统的时钟配置信息,以进一步了解当前时钟状态(引用)。
然而,在STM32F103的固件库中,对于内部时钟并没有添加代码进行初始化,这会导致系统在没有外部晶振的情况下,仅以内部的8M时钟继续运行。这种情况是不合理的(引用)。
为了解决这个问题,可以在else分支中添加外部启动失败时的代码。具体的步骤如下(引用):
1. 开启HSI即内部晶振时钟。
2. 选择HSI为PLL的时钟源,需要将HSI进行2分频给PLL。
3. 设置PLLCLK的倍频,得到时钟源PLL的频率。
4. 设置PLL的输出不分频。
5. 设置系统时钟的分频,这里选择不进行分频。
6. 使能PLL时钟。
7. 等待PLL时钟就绪。
8. 选择PLL为系统时钟的时钟源。
9. 等待PLL成为系统时钟的时钟源。
通过以上步骤,可以确保在外部启动失败的情况下,系统会以内部的8M时钟执行,并且保持与使用外部晶振时相同的时钟频率(72M)(引用)。
相关问题
stm32f103r6时钟配置
STM32F103R6是一款基于ARM Cortex-M3内核的微控制器,它具有丰富的外设和功能。在配置STM32F103R6的时钟时,需要设置系统时钟和外设时钟。
1. 系统时钟配置:
- 首先,需要选择系统时钟源。可以选择内部时钟源(HSI)或外部时钟源(HSE)。
- 如果选择内部时钟源,可以使用默认的内部高速时钟(HSI)作为系统时钟源。可以通过设置RCC_CFGR寄存器来配置HSI的分频系数。
- 如果选择外部时钟源,需要将外部时钟源连接到MCU的引脚上,并通过设置RCC_CFGR寄存器来配置外部时钟源的分频系数。
- 然后,需要选择系统时钟的分频系数。可以通过设置RCC_CFGR寄存器来配置分频系数,以得到所需的系统时钟频率。
2. 外设时钟配置:
- 对于每个外设,都有一个时钟使能寄存器(RCC_APBxENR或RCC_AHBxENR),用于控制外设时钟的使能和禁用。
- 通过设置相应的时钟使能位,可以使能或禁用特定的外设时钟。
下面是一个示例代码,演示了如何配置STM32F103R6的时钟:
```c
#include "stm32f10x.h"
void SystemClock_Config(void)
{
// 选择系统时钟源为外部时钟源(HSE)
RCC->CFGR |= RCC_CFGR_SW_HSE;
// 配置外部时钟源的分频系数
RCC->CFGR |= RCC_CFGR_HPRE_DIV1; // AHB时钟不分频
RCC->CFGR |= RCC_CFGR_PPRE1_DIV2; // APB1时钟分频系数为2
RCC->CFGR |= RCC_CFGR_PPRE2_DIV1; // APB2时钟不分频
// 使能外部时钟源(HSE)
RCC->CR |= RCC_CR_HSEON;
while(!(RCC->CR & RCC_CR_HSERDY));
// 使能外设时钟
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; // 使能TIM2时钟
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // 使能GPIOA时钟
}
int main(void)
{
// 配置系统时钟
SystemClock_Config();
// 其他代码...
return 0;
}
```
STM32F103配置系统时钟
在使用STM32F103单片机时,配置系统的工作时钟是第一步。我们可以选择使用外部时钟源或内部时钟源。配置系统时钟需要参考一些函数,下面给出了两个函数供大家在实际开发中使用。
另外,基于STM32F103的实时时钟可以支持掉电时钟数据不复位,并且能够跨天保存时钟数据。同时,还可以通过使用OLED(IIC接口)显示来显示时间,并且支持使用按键来更改时间。你可以参考附带的原理图来进行设计,同时可以采用micro USB供电。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [STM32F103系统时钟设置](https://blog.csdn.net/SammySum/article/details/120580898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [STM32数字时钟,掉电时钟数据保存,使用OLED显示屏显示,带电路图](https://download.csdn.net/download/weixin_64343948/88279862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]