stm32F4各个库文件的作用分析

发布者:CreativeMind最新更新时间:2020-09-23 来源: eefocus关键字:stm32F4  库文件 手机看文章 扫描二维码
随时随地手机看文章

system_stm32f4xx.c:This file contains the system clock configuration for STM32F4xx devices.


  1 /**

  2   ******************************************************************************

  3   * @file    system_stm32f4xx.c

  4   * @author  MCD Application Team

  5   * @version V1.4.0

  6   * @date    04-August-2014

  7   * @brief   CMSIS Cortex-M4 Device Peripheral Access Layer System Source File.

  8   *          This file contains the system clock configuration for STM32F4xx devices.

  9   *             

 10   * 1.  This file provides two functions and one global variable to be called from 

 11   *     user application:

 12   *      - SystemInit(): Setups the system clock (System clock source, PLL Multiplier

 13   *                      and Divider factors, AHB/APBx prescalers and Flash settings),

 14   *                      depending on the configuration made in the clock xls tool. 

 15   *                      This function is called at startup just after reset and 

 16   *                      before branch to main program. This call is made inside

 17   *                      the "startup_stm32f4xx.s" file.

 18   *

 19   *      - SystemCoreClock variable: Contains the core clock (HCLK), it can be used

 20   *                                  by the user application to setup the SysTick 

 21   *                                  timer or configure other parameters.

 22   *                                     

 23   *      - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must

 24   *                                 be called whenever the core clock is changed

 25   *                                 during program execution.

 26   *

 27   * 2. After each device reset the HSI (16 MHz) is used as system clock source.

 28   *    Then SystemInit() function is called, in "startup_stm32f4xx.s" file, to

 29   *    configure the system clock before to branch to main program.

 30   *

 31   * 3. If the system clock source selected by user fails to startup, the SystemInit()

 32   *    function will do nothing and HSI still used as system clock source. User can 

 33   *    add some code to deal with this issue inside the SetSysClock() function.

 34   *

 35   * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define

 36   *    in "stm32f4xx.h" file. When HSE is used as system clock source, directly or

 37   *    through PLL, and you are using different crystal you have to adapt the HSE

 38   *    value to your own configuration.

 39   *

 40   * 5. This file configures the system clock as follows:

 41   *=============================================================================

 42   *=============================================================================

 43   *                    Supported STM32F40xxx/41xxx devices

 44   *-----------------------------------------------------------------------------

 45   *        System Clock source                    | PLL (HSE)

 46   *-----------------------------------------------------------------------------

 47   *        SYSCLK(Hz)                             | 168000000

 48   *-----------------------------------------------------------------------------

 49   *        HCLK(Hz)                               | 168000000

 50   *-----------------------------------------------------------------------------

 51   *        AHB Prescaler                          | 1

 52   *-----------------------------------------------------------------------------

 53   *        APB1 Prescaler                         | 4

 54   *-----------------------------------------------------------------------------

 55   *        APB2 Prescaler                         | 2

 56   *-----------------------------------------------------------------------------

 57   *        HSE Frequency(Hz)                      | 25000000

 58   *-----------------------------------------------------------------------------

 59   *        PLL_M                                  | 25

 60   *-----------------------------------------------------------------------------

 61   *        PLL_N                                  | 336

 62   *-----------------------------------------------------------------------------

 63   *        PLL_P                                  | 2

 64   *-----------------------------------------------------------------------------

 65   *        PLL_Q                                  | 7

 66   *-----------------------------------------------------------------------------

 67   *        PLLI2S_N                               | NA

 68   *-----------------------------------------------------------------------------

 69   *        PLLI2S_R                               | NA

 70   *-----------------------------------------------------------------------------

 71   *        I2S input clock                        | NA

 72   *-----------------------------------------------------------------------------

 73   *        VDD(V)                                 | 3.3

 74   *-----------------------------------------------------------------------------

 75   *        Main regulator output voltage          | Scale1 mode

 76   *-----------------------------------------------------------------------------

 77   *        Flash Latency(WS)                      | 5

 78   *-----------------------------------------------------------------------------

 79   *        Prefetch Buffer                        | ON

 80   *-----------------------------------------------------------------------------

 81   *        Instruction cache                      | ON

 82   *-----------------------------------------------------------------------------

 83   *        Data cache                             | ON

 84   *-----------------------------------------------------------------------------

 85   *        Require 48MHz for USB OTG FS,          | Disabled

 86   *        SDIO and RNG clock                     |

[1] [2] [3]
关键字:stm32F4  库文件 引用地址:stm32F4各个库文件的作用分析

上一篇:STM32F4先设置寄存器还是先使能时钟
下一篇:STM32F407的串口采用DMA收发数据

推荐阅读最新更新时间:2024-11-11 06:18

Keil MDK STM32系列(八) STM32F4基于HAL的PWM和定时器输出音频
方式1: 通过PWM和TIM输出音频 机制 音频使用一个预生成的的8bit无符号数组, 采样率为8KHz 输出包含两部分, 一部分是TIM2产生连续的PWM, PWM分辨率设置为256, 正好对应8bit PCM采样 输出的第二部分是TIM3产生的定时中断, 中断的频率正好是8KHz, 每次中断都修改一次PWM的占空比 通过调节PWM频率可以调节输出音质, PWM频率越高音质越好(谐振频率越远离音频) 通过调节PWM分辨率可以调节音量, PWM分辨率越高, 音量越低 配置STM32CubeMX 选择芯片STM32F401CCU6, 创建新项目 系统时钟 System Core - SYS- Debug: Serial Wi
[单片机]
STM32F429 如何使用NAND Flash
(1)原理介绍: http://www.51hei.com/stm32/3609.html Flash即是存储芯片的一种,其结合了ROM和RAM的特点,既具备电可擦除编程的性能,又可以快速读取数据,数据不会因断电丢失。目前市面上Flash主要有NOR Flash和NAND Flash。 NOR Flash具有随机存取和随字节执行写操作的能力,即可以访问到存储器内部的任意一个字节,且具有读取速度快等特点,它占据1MB—16MB闪存的大部分市场,根据其读取数据速度快的特点主要应用在代码存储; NAND Flash以“页”为单位进行对数据的读写操作,且具有写入和擦除速度快等特点,它应用在8MB—256MB的产品中,根据其特点
[单片机]
STM32f429-SDRAM+LTDC总结
买了块STM32F429I-DISC1准备搞点稍微复杂点东西,比如LCD驱动,摄像头驱动,DSP之类。 先搞得是LCD驱动,F429提供了LTDC接口,就是可以直接可以用RGB的方式驱动屏幕,而用RGB方式就需要有比较大的RAM,但一般MCU的板载RAM都是很小的,都是通过外接SDRAM的方式来进行的,而SDRAM就是跟电脑外接DDR内存的原理是一样的。F429板载了一颗8Mbyte的SDRAM。 关于了解SDRAM的一些常识,看了一篇doc,“高手进阶,终极内存技术指南——完整.doc”,里面讲了很多SDRAM的时序和参数。 SDRAM原理:有行地址,列地址,地址线等等。还有读取每个区块就是Bank的时候先定位行地址然后定位
[单片机]
STM32F4 ADC模块使用不同DMA模式的区别和对比
这些细节在STM32F4的原厂参考手册中没有说明,只是很简短的列了一下。 我是查看ST前几天刚发布的接口库才最后弄明白的,不敢独享! 1、STM32F4有3个独立的ADC单元,性能强劲,可以独立使用,也可以联合使用它们。 联合使用在参考手册中叫Interleave模式,最大的目的是加倍提升采样速度。 2、采样速度大幅提高以后,就需要使用DMA来配合提取采样结果,从而发挥STM32F4 ADC模块的最大效能。 3、ADC模块使用DMA有4种模式可选,默认模式和模式1没有什么特别之处。 最有意思的是模式2和模式3: 模式2可以选择多达3个ADC模块工作于Interleave模式,ADC速度从单一模块的
[单片机]
stm32f407】flash编程
一.Flash介绍 不同型号的STM32F40xx/41xx,其FLASH容量也有所不同,最小的只有128K字节,最大的则达到了1024K字节。STM32F4的FLASH容量为1024K字节,如参考手册图: STM32F4的闪存模块由:主存储器、系统存储器、OPT区域和选项字节等4部分组成。主存储器,该部分用来存放代码和数据常数(如const类型的数据)。分为12个扇区,前4个扇区为16KB大小,然后扇区4是64KB大小,扇区5~11是128K大小,不同容量的STM32F4,拥有的扇区数不一样,比如我们的STM32F407ZGT6,则拥有全部12个扇区。从上图可以看出主存储器的起始地址就是0X08000000, B0、B1都
[单片机]
【<font color='red'>stm32f4</font>07】flash编程
stm32f4端口寄存器配置
一,io口资源 STM32F407有7组IO,分别为GPIOA~GPIOG,每组IO有16个IO口,则有112个IO口。其中IO口的基本结构如下: 二,gpio工作方式 1,四种输入模式 输入浮空 输入上拉 输入下拉 模拟输入 2,四种输出模式 开漏输出 开漏复用 推挽输出 推挽复用 3,引脚功能 1)作为普通 GPIO 输入:根据需要配置该引脚为浮空输入、 带弱上拉输入或带弱下拉输入,同时不要使能 该引脚对应的所有复用功能模块。 2)作为普通 GPIO 输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复 用功能模块。 3)作为普通模拟输入:配置该引脚为模拟输
[单片机]
<font color='red'>stm32f4</font>端口寄存器配置
使用 STM8L DISCOVERY 示例程序添加库文件出现 Error[Li005]
今天想用新买的STM8L-DISCOVERY写一个控制舵机的程序。如果使用标准库的话,正确的做法是把 stm8l15x.h 里面 #include stm8l15x_tim1.h 这一行的注释去掉。我这样做了,然后复制官方提供的一个TIM1的PWM的例子。结果坑爹的情况出现了: 我已经添加了TIM1的头文件了,可是开发环境并没有把对应的源文件加入编译列表: 这到到底是为啥呢?纠结了一下午一晚上,上网搜索外加查阅官方文档,都没有找到答案。 晚上回到宿舍继续纠结,结果意外发现在每个源文件的 option 里都有这么个勾选项: 把这个勾去掉就好了。
[单片机]
使用 STM8L DISCOVERY 示例程序添加<font color='red'>库文件</font>出现 Error[Li005]
stm32f407】SysTick实现延时
一. SysTick介绍: CM4内核的处理和CM3一样,内部都包含了一个SysTick定时器,SysTick 是一个24 位的倒计数定时器,当计到0 时 ,将 从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick 控制及状态寄存器中的使能位清除,就永不停息。我们就是利用STM32的内部SysTick来实现延时的,这样既不占用中断,也不占用系统定时器 通常SysTick可以通过中断的方式来实现,后续会增加,但是目前只是通过轮询的方式去实现 二. 寄存器介绍 SysTick有4个寄存器 对应的代码在core_cm4.h中 typedefstruct { __IO uint32_t CTRL
[单片机]
【<font color='red'>stm32f4</font>07】SysTick实现延时
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved