stm32的时钟好复杂啊?我快不行了.
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/01 07:46:01
stm32的时钟好复杂啊?我快不行了.
程序要怎么配置啊?
程序要怎么配置啊?
AHB (HCLK) 时钟 =\x09SYSCLK\x09\x09=\x0972MHz
APB2(PCLK2)时钟\x09=\x09AHB时钟\x09\x09=\x0936MHz
APB1(PCLK1)时钟\x09=\x09AHB 1/2时钟\x09=\x0972MHz
ADC时钟\x09 =\x09PCLK2 1/4\x09=\x09 9MHz
PLL时钟 = \x09HSE*9\x09\x09=\x0972MHz
\x09ErrorStatus HSEStartUpStatus;
\x09//初始化RCC外部设备寄存器
\x09RCC_DeInit();
\x09//打开外部高速晶振
\x09RCC_HSEConfig( RCC_HSE_ON );
\x09//等待外部高速设备准备好
\x09HSEStartUpStatus = RCC_WaitForHSEStartUp();
\x09//外部高速设备已准备好
\x09if( HSEStartUpStatus == SUCCESS )
\x09{
\x09\x09//启动FLASH预取值
\x09\x09FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
\x09\x09//设置FLASH_Lacency延时2周期
\x09\x09FLASH_SetLatency(FLASH_Latency_2);
\x09\x09//配置AHB(HCLK)时钟=SYSCLK
\x09\x09RCC_HCLKConfig(RCC_SYSCLK_Div1);
\x09//配置APB2(PCLK2)钟=AHB时钟
\x09\x09RCC_PCLK1Config(RCC_HCLK_Div2);
\x09//配置APB1(PCLK1)钟=AHB 1/2时钟
\x09\x09RCC_PCLK2Config(RCC_HCLK_Div1);
\x09\x09//配置ADC时钟=PCLK2 1/4
\x09\x09RCC_ADCCLKConfig(RCC_PCLK2_Div4);
\x09\x09//配置PLL时钟 == 外部高速晶体时钟*9
\x09\x09RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
\x09\x09//使能PLL
\x09\x09RCC_PLLCmd(ENABLE);
\x09\x09//等待PLL时钟就绪
\x09\x09while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)
\x09\x09{
\x09\x09}
\x09\x09//SYSCLK = PLL
\x09\x09RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
\x09\x09//检查PLL时钟是否为SYSCLK
\x09\x09while(RCC_GetSYSCLKSource() != 0x08)
\x09\x09{
\x09\x09}
\x09}
APB2(PCLK2)时钟\x09=\x09AHB时钟\x09\x09=\x0936MHz
APB1(PCLK1)时钟\x09=\x09AHB 1/2时钟\x09=\x0972MHz
ADC时钟\x09 =\x09PCLK2 1/4\x09=\x09 9MHz
PLL时钟 = \x09HSE*9\x09\x09=\x0972MHz
\x09ErrorStatus HSEStartUpStatus;
\x09//初始化RCC外部设备寄存器
\x09RCC_DeInit();
\x09//打开外部高速晶振
\x09RCC_HSEConfig( RCC_HSE_ON );
\x09//等待外部高速设备准备好
\x09HSEStartUpStatus = RCC_WaitForHSEStartUp();
\x09//外部高速设备已准备好
\x09if( HSEStartUpStatus == SUCCESS )
\x09{
\x09\x09//启动FLASH预取值
\x09\x09FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
\x09\x09//设置FLASH_Lacency延时2周期
\x09\x09FLASH_SetLatency(FLASH_Latency_2);
\x09\x09//配置AHB(HCLK)时钟=SYSCLK
\x09\x09RCC_HCLKConfig(RCC_SYSCLK_Div1);
\x09//配置APB2(PCLK2)钟=AHB时钟
\x09\x09RCC_PCLK1Config(RCC_HCLK_Div2);
\x09//配置APB1(PCLK1)钟=AHB 1/2时钟
\x09\x09RCC_PCLK2Config(RCC_HCLK_Div1);
\x09\x09//配置ADC时钟=PCLK2 1/4
\x09\x09RCC_ADCCLKConfig(RCC_PCLK2_Div4);
\x09\x09//配置PLL时钟 == 外部高速晶体时钟*9
\x09\x09RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
\x09\x09//使能PLL
\x09\x09RCC_PLLCmd(ENABLE);
\x09\x09//等待PLL时钟就绪
\x09\x09while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)
\x09\x09{
\x09\x09}
\x09\x09//SYSCLK = PLL
\x09\x09RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
\x09\x09//检查PLL时钟是否为SYSCLK
\x09\x09while(RCC_GetSYSCLKSource() != 0x08)
\x09\x09{
\x09\x09}
\x09}
我快不行了,鸭梨山大,怎么办?救命啊!~!~!~!~
我的人生好复杂,
请问STM32定时器中的时钟分割有何用?应如何判断选择多少的时钟分割值?
查字典的 我不行了!
为什么我白纸上的字写得很好,练习本上的字就不行了?
苹果的乔布斯才56岁的人.还很年轻啊为什么就快不行了?
stm32的"->"符号是什么意思
STM32
怎么做才能养好猪我头两年养的猪长得快,又不得病,即使有个发热,拉稀,喂点药,两天就好.可后来在外地买的猪就不行了,不光长
雷锋在我心中.我要写作业啊!快点!过了明天就不行了,快一点啊!一寸光一寸金啊!
问大家一道数学应用题,我不会啦!高手快来!我不行了啦!了啊!快点吧!
爱国心校园情作文 偶急用呀 都急得不行了 比上厕所还急呀!会的快教教我吧!