基于STM32单片机的USB时钟配置设计
2024-03-28 来源:elecfans
1.首先要配置好系统的时钟如下:
RCC_DeInit();//将外设RCC寄存器重设为缺省值
/*EnableHSE*/
RCC_HSEConfig(RCC_HSE_ON);//设置外部高速晶振(HSE)
/*WaittillHSEisready*/
HSEStartUpStatus=RCC_WaitForHSEStartUp();//等待HSE起振,等待外部的时钟起振
if(HSEStartUpStatus==SUCCESS)
{
/*EnablePrefetchBuffer*/
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//使能或者失能预取指缓存
/*Flash2waitstate*/
FLASH_SetLatency(FLASH_Latency_2);//设置代码延时值
/*HCLK=SYSCLK*/
RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置AHB时钟(HCLK)
/*PCLK2=HCLK*/
RCC_PCLK2Config(RCC_HCLK_Div1);//设置高速AHB时钟(PCLK2)toAPB2
/*PCLK1=HCLK/2*/
//STM32的时钟比较复杂
RCC_PCLK1Config(RCC_HCLK_Div2);//设置高速AHB时钟(PCLK1)toAPB1
/*ADCCLK=PCLK2/8*/
RCC_ADCCLKConfig(RCC_PCLK2_Div8);//设置ADC时钟(ADCCLK)
/*PLLCLK=8MHz*9=72MHz*/
//设置外部时钟源,且PLL等于外部时钟频率*9
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
//此时PLLCLK=72MHz,这个得知道他的值,因为USB的时钟USBCLK=PLLCLK/1或者PLLCLK/1.5,但得确保USBCLK=48MHz
//所以配置USBCLK的时候选择是1.5分频
RCC_PLLCmd(ENABLE);//最后才激活PLL,必须最后才激活!
/*WaittillPLLisready*/
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)
{
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//配置SYSCLK
/*WaittillPLLisusedassystemclocksource*/
while(RCC_GetSYSCLKSource()!=0x08)
{
}
}
else
{
/*IfHSEfailstostart-up,theapplicationwillhavewrongclockconfiguration.
Usercanaddheresomecodetodealwiththiserror*/
/*Gotoinfiniteloop*/
while(1)
{
}
}
voidUSBclock_Config()
{
RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);//1.5分频
/*EnabletheUSBclock*/
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB,ENABLE);//此处是激活USB外设,USB属于APB1外设
}
- 意法半导体中国本地造STM32微控制器启动规模量产
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 基于机智云与STM32的智能拐杖安全监测系统在养老物联网中的应用
- 内置全栈安全,一站式满足CRA法案与IEC 62443标准——米尔STM32MP257核心板
- 如何用 STM32 FLASH 实现等效 100 万次擦写的 EEPROM 功能?
- 实战解析:通过一个小项目掌握STM32所有外设
- STM32学了两年半,却还是不会做项目
- 意法半导体推出最新STM32MP21微处理器,兼具高性价比、低功耗、高灵活性
- 基于STM32的矿井作业环境监测系统设计与实现
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




