/**
******************************************************************************
* @file stm32f4xx_rcc.c
* @author MCD Application Team
* @version V1.8.0
* @date 04-November-2016
* @brief This file provides firmware functions to manage the following
* functionalities of the Reset and clock control (RCC) peripheral:
* + Internal/external clocks, PLL, CSS and MCO configuration
* + System, AHB and APB busses clocks configuration
* + Peripheral clocks configuration
* + Interrupts and flags management
*
@verbatim
===============================================================================
##### RCC specific features #####
===============================================================================
[..]
After reset the device is running from Internal High Speed oscillator
(HSI 16MHz) with Flash 0 wait state, Flash prefetch buffer, D-Cache
and I-Cache are disabled, and all peripherals are off except internal
SRAM, Flash and JTAG.
(+) There is no prescaler on High speed (AHB) and Low speed (APB) busses;
all peripherals mapped on these busses are running at HSI speed.
(+) The clock for all peripherals is switched off, except the SRAM and FLASH.
(+) All GPIOs are in input floating state, except the JTAG pins which
are assigned to be used for debug purpose.
[..]
Once the device started from reset, the user application has to:
(+) Configure the clock source to be used to drive the System clock
(if the application needs higher frequency/performance)
(+) Configure the System clock frequency and Flash settings
(+) Configure the AHB and APB busses prescalers
(+) Enable the clock for the peripheral(s) to be used
(+) Configure the clock source(s) for peripherals which clocks are not
derived from the System clock (I2S, RTC, ADC, USB OTG FS/SDIO/RNG)
@endverbatim
******************************************************************************
* @attention
*
* <h2><center>© COPYRIGHT 2016 STMicroelectronics</center></h2>
*
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.st.com/software_license_agreement_liberty_v2
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "stm32f4xx_rcc.h"
/** @addtogroup STM32F4xx_StdPeriph_Driver
* @{
*/
/** @defgroup RCC
* @brief RCC driver modules
* @{
*/
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* ------------ RCC registers bit address in the alias region ----------- */
#define RCC_OFFSET (RCC_BASE - PERIPH_BASE)
/* --- CR Register ---*/
/* Alias word address of HSION bit */
#define CR_OFFSET (RCC_OFFSET + 0x00)
#define HSION_BitNumber 0x00
#define CR_HSION_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (HSION_BitNumber * 4))
/* Alias word address of CSSON bit */
#define CSSON_BitNumber 0x13
#define CR_CSSON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (CSSON_BitNumber * 4))
/* Alias word address of PLLON bit */
#define PLLON_BitNumber 0x18
#define CR_PLLON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLLON_BitNumber * 4))
/* Alias word address of PLLI2SON bit */
#define PLLI2SON_BitNumber 0x1A
#define CR_PLLI2SON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLLI2SON_BitNumber * 4))
/* Alias word address of PLLSAION bit */
#define PLLSAION_BitNumber 0x1C
#define CR_PLLSAION_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLLSAION_BitNumber * 4))
/* --- CFGR Register ---*/
/* Alias word address of I2SSRC bit */
#define CFGR_OFFSET (RCC_OFFSET + 0x08)
#define I2SSRC_BitNumber 0x17
#define CFGR_I2SSRC_BB (PERIPH_BB_BASE + (CFGR_OFFSET * 32) + (I2SSRC_BitNumber * 4))
/* --- BDCR Register ---*/
/* Alias word address of RTCEN bit */
#define BDCR_OFFSET (RCC_OFFSET + 0x70)
#define RTCEN_BitNumber 0x0F
#define BDCR_RTCEN_BB (PERIPH_BB_BASE + (BDCR_OFFSET * 32) + (RTCEN_BitNumber * 4))
/* Alias word address of BDRST bit */
#define BDRST_BitNumber 0x10
#define BDCR_BDRST_BB (PERIPH_BB_BASE + (BDCR_OFFSET * 32) + (BDRST_BitNumber * 4))
/* --- CSR Register ---*/
/* Alias word address of LSION bit */
#define CSR_OFFSET (RCC_OFFSET + 0x74)
#define LSION_BitNumber 0x00
#define CSR_LSION_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (LSION_BitNumber * 4))
/* --- DCKCFGR Register ---*/
/* Alias word address of TIMPRE bit */
#define DCKCFGR_OFFSET (RCC_OFFSET + 0x8C)
#define TIMPRE_BitNumber 0x18
#define DCKCFGR_TIMPRE_BB (PERIPH_BB_BASE + (DCKCFGR_OFFSET * 32) + (TIMPRE_BitNumber * 4))
/* --- CFGR Register ---*/
#define RCC_CFGR_OFFSET (RCC_OFFSET + 0x08)
#if defined(STM32F410xx)
/* Alias word address of MCO1EN bit */
#define RCC_MCO1EN_BIT_NUMBER 0x8
#define RCC_CFGR_MCO1EN_BB (PERIPH_BB_BASE + (RCC_CFGR_OFFSET * 32) + (RCC_MCO1EN_BIT_NUMBER * 4))
/* Alias word address of MCO2EN bit */
#define RCC_MCO2EN_BIT_NUMBER 0x9
#define RCC_CFGR_MCO2EN_BB (PERIPH_BB_BASE + (RCC_CFGR_OFFSET * 32) + (RCC_MCO2EN_BIT_NUMBER * 4))
#endif /* STM32F410xx */
/* ---------------------- RCC registers bit mask ------------------------ */
/* CFGR register bit mask */
#define CFGR_MCO2_RESET_MASK ((uint32_t)0x07FFFFFF)
#define CFGR_MCO1_RESET_MASK ((uint32_t)0xF89FFFFF)
/* RCC Flag Mask */
#define FLAG_MASK ((uint8_t)0x1F)
/* CR register byte 3 (Bits[23:16]) base address */
#define CR_BYTE3_ADDRESS ((uint32_t)0x40023802)
/* CIR register byte 2 (Bits[15:8]) base address */
#define CIR_BYTE2_ADDRESS ((uint32_t)(RCC_BASE + 0x0C + 0x01))
/* CIR register byte 3 (Bits[23:16]) base address */
#define CIR_BYTE3_ADDRESS ((uint32_t)(RCC_BASE + 0x0C + 0x02))
/* BDCR register base address */
#define BDCR_ADDRESS (PERIPH_BASE + BDCR_OFFSET)
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
static __I uint8_t APBAHBPrescTable[16] = {0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 6, 7, 8, 9};
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup RCC_Private_Functions
* @{
*/
/** @defgroup RCC_Group1 Internal and external clocks, PLL, CSS and MCO configuration functions
* @brief Internal and external clocks, PLL, CSS and MCO configuration functions
*
@verbatim
===================================================================================
##### Internal and external clocks, PLL, CSS and MCO configuration functions #####
===================================================================================
[..]
This section provide functions allowing to configure the internal/exter
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内容概括:STM32F407智能遥控小车完整代码 材料内容:使用STM32F407VGT6芯片 2.4G无线模块使用两块NRF24L01 电脑上使用串口转NRF24L01 电机驱动使用TB6612FNG 电源模块是充电宝加上DC电源升压模块 能学习到什么:SPI通信 2.4G无线通信使用 红外模块使用 电机驱动的使用 适合人群:想要做关于单片机方面的毕业设计 对遥控小车有兴趣的人群
资源详情
资源评论
资源推荐
收起资源包目录
嵌入式项目智能遥控小车 (257个子文件)
os_cpu_a.asm 8KB
Smart_Car.axf 390KB
stm32f4xx_rcc.c 134KB
stm32f4xx_tim.c 122KB
stm32f4xx_rtc.c 101KB
os_core.c 86KB
stm32f4xx_dfsdm.c 85KB
stm32f4xx_adc.c 67KB
stm32f4xx_can.c 65KB
stm32f4xx_flash.c 62KB
stm32f4xx_fmc.c 61KB
stm32f4xx_dsi.c 61KB
system_stm32f4xx.c 59KB
stm32f4xx_cryp_aes.c 57KB
stm32f4xx_fmpi2c.c 57KB
stm32f4xx_usart.c 57KB
os_task.c 56KB
os_flag.c 55KB
stm32f4xx_i2c.c 53KB
stm32f4xx_dma.c 52KB
stm32f4xx_spi.c 52KB
stm32f4xx_sai.c 48KB
stm32f4xx_fsmc.c 45KB
os_tmr.c 44KB
stm32f4xx_pwr.c 42KB
os_q.c 42KB
stm32f4xx_ltdc.c 39KB
stm32f4xx_sdio.c 38KB
os_mutex.c 37KB
stm32f4xx_cryp.c 35KB
stm32f4xx_lptim.c 34KB
stm32f4xx_qspi.c 32KB
os_mbox.c 30KB
os_sem.c 29KB
stm32f4xx_dma2d.c 27KB
stm32f4xx_dac.c 26KB
stm32f4xx_hash.c 26KB
stm32f4xx_gpio.c 25KB
stm32f4xx_cec.c 24KB
os_mem.c 19KB
stm32f4xx_dcmi.c 18KB
stm32f4xx_spdifrx.c 17KB
stm32f4xx_syscfg.c 17KB
stm32f4xx_rng.c 14KB
os_cpu_c.c 13KB
os_dbg_r.c 13KB
os_dbg.c 12KB
misc.c 11KB
os_time.c 11KB
stm32f4xx_cryp_tdes.c 11KB
stm32f4xx_wwdg.c 10KB
stm32f4xx_cryp_des.c 10KB
stm32f4xx_exti.c 10KB
stm32f4xx_hash_sha1.c 10KB
stm32f4xx_hash_md5.c 9KB
stm32f4xx_iwdg.c 9KB
nrf24l01.c 8KB
stm32f4xx_dbgmcu.c 7KB
stm32f4xx_flash_ramfunc.c 5KB
adc.c 5KB
spi.c 4KB
stm32f4xx_crc.c 4KB
tb6612fng.c 3KB
uart.c 2KB
ucos_ii.c 2KB
delay.c 1KB
main.c 960B
key.c 730B
led.c 614B
hw.c 584B
start_task.c 179B
os_flag.crf 413KB
os_task.crf 412KB
os_core.crf 412KB
os_q.crf 410KB
main.crf 410KB
os_mutex.crf 410KB
os_mbox.crf 409KB
os_sem.crf 408KB
os_time.crf 407KB
os_cpu_c.crf 407KB
start_task.crf 406KB
os_tmr.crf 406KB
os_mem.crf 406KB
stm32f4xx_tim.crf 389KB
stm32f4xx_rtc.crf 387KB
nrf24l01.crf 380KB
stm32f4xx_rcc.crf 379KB
stm32f4xx_i2c.crf 375KB
stm32f4xx_usart.crf 375KB
tb6612fng.crf 374KB
uart.crf 374KB
stm32f4xx_spi.crf 374KB
si24r1.crf 373KB
stm32f4xx_pwr.crf 372KB
stm32f4xx_gpio.crf 371KB
spi.crf 371KB
system_stm32f4xx.crf 371KB
sys.crf 370KB
delay.crf 369KB
共 257 条
- 1
- 2
- 3
我们是冠军
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0