-
AT32F421K8U7怎么配置HSI为48MHz???
我直接在固件库里做了修改,不知道为何不行staticvoidSetSysClockTo48M(void){__IOuint32_tStartUpCounter=0,HSEStatus=0;//把RCC外设初始化成复位状态,这句是必须的RCC_Reset();//使能HSIRCC_HSICmd(ENABLE);//只有HSI就绪之后则继续往下执行if(RCC_GetFlagStatus(RCC_FLAG_HSISTBL)){//----------------------------------------------------------------------//FLASH->ACR=FLASH_ACR_DEFAULT(FLASH_ACR_LATENCY_1);//----------------------------------------------------------------------////AHB预分频因子设置为1分频,HCLK=SYSCLKRCC_AHBCLKConfig(RCC_SYSCLK_Div1);//APB2预分频因子设置为1分频,PCLK2=HCLKRCC_APB2CLKConfig(RCC_AHBCLK_Div1);//APB1预分频因子设置为1分频,PCLK1=HCLKRCC_APB1CLKConfig(RCC_AHBCLK_Div1);//设置PLL时钟来源为HSE,设置PLL倍频因子//PLLCLK=4MHz*pllmulRCC_PLLConfig(RCC_PLLRefClk_HSI_Div2,12,RCC_Range_LessEqual_72Mhz);//------------------------------------------------------------------////开启PLLRCC_PLLCmd(ENABLE);//等待PLL稳定while(RCC_GetFlagStatus(RCC_FLAG_PLLSTBL)==RESET){}//当PLL稳定之后,把PLL时钟切换为系统时钟SYSCLKRCC_SYSCLKConfig(RCC_SYSCLKSelction_HSI);//读取时钟切换状态位,确保PLLCLK被选为系统时钟while(RCC_GetSYSCLKSelction()!=0x08){}}else{while(1){}}
2021-01-29 2