关于STM32使用外部时钟的问题

所属分类:STM32F系列 浏览数:168 提问者:小嘉@超 提问时间:2018-07-09

问:

STM32我只想使用外部晶振。在初始化时如果外部晶振故障的时候单片机不转用内部晶振。而是处于不运行状态。要如何实现呢?


最佳答案:补充: 如下代码(V3.5固件库)用于检查外部晶振是否起振,放在主函数最前面执行 __IO uint32_t HSEStatus = 0; HSEStatus = RCC->CR & RCC_CR_HSERDY; if(HSEStatus==0) //未起振 { for(;;); //未起振则死循环或加入其它指示 } else { //外部晶振起动正常 }
回答者:wj7758521 回答时间:2018-07-10

答:在启动的时候,会有一个判断外部晶振是否启动的过程,系统初始化(v35固件库)里有,具体的你可以先找找看,现在不方便贴出来
回答者:wj7758521 回答时间:2018-07-09

答:谢谢指导!
回答者:小嘉@超 回答时间:2018-07-10

答:wj7758521 你好!请问那个系统初始化(V35固件库)是在system_stm32f10x的是?
回答者:小嘉@超 回答时间:2018-07-10

答:不好意思,这几天没上来看。是的,是在system_stm32f10x.c里,在初始化时钟的函数中,默认是SetSysClockTo72(),在最前面就有一个检查时钟是否起振的过程,也预留了代码,你可以看看
回答者:wj7758521 回答时间:2018-07-16

登录后回答。
图书推荐
Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC

Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC

Using FreeRTOS and libopencm3 instead of the Arduino software environment, ...
Programming With STM32 : Getting Started With the Nucleo Board

Programming With STM32 : Getting Started With the Nucleo Board

Get up and running programming the STM32 line using the hands-on information ...
野火:RT-Thread内核实现与应用开发实战指南

野火:RT-Thread内核实现与应用开发实战指南

第一部分“从0到1写RT-Thread内核”重点讲解RT-Thread的原理实现;第二部分“RTT内核...
广告