STM 32的USB时钟的配置
来源:互联网 发布:淘宝重新注册账号申请 编辑:程序博客网 时间:2024/05/20 06:41
1.首先要配置好系统的时钟如下:
RCC_DeInit();//将外设RCC寄存器重设为缺省值 /* Enable HSE */ RCC_HSEConfig(RCC_HSE_ON);//设置外部高速晶振(HSE ) /* Wait till HSE is ready */ HSEStartUpStatus = RCC_WaitForHSEStartUp();//等待HSE 起振,等待外部的时钟起振 if (HSEStartUpStatus == SUCCESS) { /* Enable Prefetch Buffer */ FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //使能或者失能预取指缓存 /* Flash 2 wait state */ FLASH_SetLatency(FLASH_Latency_2);//设置代码延时值 /* HCLK = SYSCLK */ RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置AHB时钟(HCLK) /* PCLK2 = HCLK */ RCC_PCLK2Config(RCC_HCLK_Div1);//设置高速AHB时钟(PCLK2) to APB2 /* PCLK1 = HCLK/2 */ //stm32的时钟比较复杂 RCC_PCLK1Config(RCC_HCLK_Div2); //设置高速AHB时钟(PCLK1)to APB1 /* ADCCLK = PCLK2/8 */ RCC_ADCCLKConfig(RCC_PCLK2_Div8); //设置ADC时钟(ADCCLK) /* PLLCLK = 8MHz * 9 = 72 MHz */ //设置外部时钟源,且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,必须最后才激活! /* Wait till PLL is ready */ while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//配置SYSCLK /* Wait till PLL is used as system clock source */ while(RCC_GetSYSCLKSource() != 0x08) { } } else { /* If HSE fails to start-up, the application will have wrong clock configuration. User can add here some code to deal with this error */ /* Go to infinite loop */ while (1) { } }void USBclock_Config(){RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);//1.5分频 /* Enable the USB clock */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);//此处是激活USB外设,USB属于APB1外设}
- STM 32的USB时钟的配置
- STM 32的USB时钟的配置
- STM 32关于USART的使用笔记
- STM 32 can 波特率的 确定
- STM 32 串口接收配置
- S3C2440的时钟配置
- MSP430x2xx的时钟配置
- MSP430x2xx的时钟配置
- 系统时钟的配置
- MSP430x2xx的时钟配置
- STM32的时钟配置
- STM32F105的时钟配置
- STM 32 SPI调试之HAL库的调试
- Stm 32 IAP 在线 升级IAP 的 操作
- Stm 32 IAP 在线 升级IAP 的 操作
- mini2440 时钟频率的配置
- STM32系统时钟的配置
- 1.0 MSP430时钟的配置
- 数学是成就卓越开发人员的必备技能
- word中的公式和文字不对齐怎么办?
- 功能强大的源码级调试器--gdb
- 利用iptables来配置linux禁止所有端口登陆和开放指定端口
- linux多线程编程的七条准则
- STM 32的USB时钟的配置
- HTML解析---IMDB简介抓取
- UIWebView小技巧
- Android开发学习笔记(八)Android应用界面编程 ImageView学习
- 数据库系统原理教程 第八章 数据库并发控制
- 浅谈C++新式转型操作符
- 文件实例
- Hungarian Algorithm
- 原型模式