完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void SYS_Init(void)
{ /*---------------------------------------------------------------------------------------------------------*/ /* Init System Clock */ /*---------------------------------------------------------------------------------------------------------*/ /* Enable Internal RC clock */ CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk); /* Waiting for IRC22M clock ready */ CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk); /* Switch HCLK clock source to Internal RC and HCLK source divide 1 */ CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC, CLK_CLKDIV_HCLK(1)); /* Enable external 12MHz XTAL, internal 22.1184MHz */ CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk | CLK_PWRCON_OSC22M_EN_Msk); /* Enable PLL and Set PLL frequency */ CLK_SetCoreClock(PLLCON_SETTING); /* Waiting for clock ready */ CLK_WaitClockReady(CLK_CLKSTATUS_PLL_STB_Msk | CLK_CLKSTATUS_XTL12M_STB_Msk | CLK_CLKSTATUS_OSC22M_STB_Msk); /* Switch HCLK clock source to PLL, STCLK to HCLK/2 */ CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_PLL, CLK_CLKDIV_HCLK(2)); /* Enable UART module clock */ CLK_EnableModuleClock(UART0_MODULE); /* Enable PWM module clock */ CLK_EnableModuleClock(PWM01_MODULE); CLK_EnableModuleClock(PWM23_MODULE); /* Select UART module clock source */ CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART_S_HXT, CLK_CLKDIV_UART(1)); /* Select PWM module clock source */ CLK_SetModuleClock(PWM01_MODULE, CLK_CLKSEL1_PWM01_S_HXT, 0); CLK_SetModuleClock(PWM23_MODULE, CLK_CLKSEL1_PWM23_S_HXT, 0); /* Reset PWMA channel0~channel3 */ SYS_ResetModule(PWM03_RST); /* Update System Core Clock */ SystemCoreClockUpdate(); /*---------------------------------------------------------------------------------------------------------*/ /* Init I/O Multi-function */ /*---------------------------------------------------------------------------------------------------------*/ /* Set P3 multi-function pins for UART RXD and TXD */ SYS->P3_MFP &= ~(SYS_MFP_P30_Msk | SYS_MFP_P31_Msk); SYS->P3_MFP |= (SYS_MFP_P30_RXD | SYS_MFP_P31_TXD); /* Set P2 multi-function pins for PWMA Channel0~3 */ SYS->P2_MFP &= ~(SYS_MFP_P20_Msk | SYS_MFP_P21_Msk | SYS_MFP_P22_Msk | SYS_MFP_P23_Msk); SYS->P2_MFP |= (SYS_MFP_P20_PWM0 | SYS_MFP_P21_PWM1 | SYS_MFP_P22_PWM2 | SYS_MFP_P23_PWM3); } /* Enable Internal RC clock */ CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk); //这上面是使能内部RC,后面好像还有,,,, /* Waiting for IRC22M clock ready */ CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk); /* Enable external 12MHz XTAL, internal 22.1184MHz */ CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk | CLK_PWRCON_OSC22M_EN_Msk); //这里为何这么操作,用了个逻辑或,如果用这个,前面那句是不是可以不用。。。 /* Enable PLL and Set PLL frequency */ CLK_SetCoreClock(PLLCON_SETTING); /* Waiting for clock ready */ CLK_WaitClockReady(CLK_CLKSTATUS_PLL_STB_Msk | CLK_CLKSTATUS_XTL12M_STB_Msk | CLK_CLKSTATUS_OSC22M_STB_Msk); 还有等待PLL稳定,等待内部RC稳定,等待外部晶振稳定,那么前面那个等待内部RC稳定是不是可以也不用。 |
|
相关推荐
1个回答
|
|
bsp; */ /*---------------------------------------------------------------------------------------------------------*/ CLK_HSICmd(ENABLE); /* Enable Internal High Speed oscillator (HSI) */ while (CLK_GetFlagStatus(CLK_FLAG_HSIRDY) == RESET); /* Wait for HSI to be ready */ //CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI); /* Select HSI as system clock source */ CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1); /* Set HCLK = CPUCLK */ CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1); /* Set CPUCLK = HSI */}
在这段代码中,CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1)和CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1)实际上都是对系统时钟的配置,因为CLK_PRESCALER_HSIDIV1将HSI分频为1,相当于不分频,而CLK_PRESCALER_CPUDIV1将CPU时钟分频为1,又相当于不分频,所以这两个函数调用存在重复配置的问题。可以保留一项,去掉另一项。 |
|
|
|
只有小组成员才能发言,加入小组>>
716 浏览 0 评论
1120 浏览 1 评论
2499 浏览 5 评论
2837 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2681 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
664浏览 9评论
679浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
792浏览 6评论
640浏览 5评论
681浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 06:11 , Processed in 1.120677 second(s), Total 84, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号