从启动文件上分析,该函数在reset复位之后,进入main主函数之前,芯片调用该函数进行系统时钟的初始化和设置,对这段代码进行修改,就能实现启动内部晶体了。
void SystemInit (void)
{
/* Set HSION bit */
RCC->CR |= (uint32_t)0x00000001;
#if defined (STM32F031) || defined (STM32F072) || defined (STM32F042)
/* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE and MCOSEL[2:0] bits /
RCC->CFGR &= (uint32_t)0xF8FFB80C;
#else
/ Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE, MCOSEL[2:0], MCOPRE[2:0] and PLLNODIV bits /
RCC->CFGR &= (uint32_t)0x08FFB80C;
#endif / STM32F031*/
/* Reset HSEON, CSSON and PLLON bits */
RCC->CR &= (uint32_t)0xFEF6FFFF;
/* Reset HSEBYP bit */
RCC->CR &= (uint32_t)0xFFFBFFFF;
/* Reset PLLSRC, PLLXTPRE and PLLMUL[3:0] bits */
RCC->CFGR &= (uint32_t)0xFFC0FFFF;
/* Reset PREDIV1[3:0] bits */
RCC->CFGR2 &= (uint32_t)0xFFFFFFF0;
/* Reset USARTSW[1:0], I2CSW, CECSW and ADCSW bits */
RCC->CFGR3 &= (uint32_t)0xFFFFFEAC;
/* Reset HSI14 bit */
RCC->CR2 &= (uint32_t)0xFFFFFFFE;
/* Disable all interrupts */
RCC->CIR = 0x00000000;
/* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */
SetSysClock();
}
上一篇:STM32 网络通信Web Server中 SSI与CGI的应用解析
下一篇:STM32之SWD连接配置说明
推荐阅读最新更新时间:2024-11-12 21:23
设计资源 培训 开发板 精华推荐
- LTC3859EUHF 高效宽输入范围双路 3.3V/8.5V 转换器的典型应用电路
- LM2902VDTBR2G 带迟滞比较器的典型应用
- DER-121 - 13.1W交流-直流反激式转换器
- surfacedial-stm32
- LT8609SEV 5V、2MHz 降压稳压器的典型应用电路
- DN05088/D,可调光,9.5 W,120 Vac CCR 照明电路
- LTC3707 的典型应用 - 高效率、两相同步降压型开关稳压器
- 【训练营】刚会走路的小白
- ADP1873-0.3-EVALZ,用于有线网络的 1.8V DC 至 DC 单输出电源的评估板
- LT1171IQ、5V/2.5A 正电流升压降压转换器的典型应用