stm32f103c8t6芯片的外部最小系统没有晶振也能工作为什么呢?
我知道这个芯片内部是有振荡电路的,但是我看好多帖子都说外部的时钟电路没有的话不能烧录程序和正常运行,但是我看到一个最小系统没有晶振也能正常工作,是因为没有使用到寄存器吗?如你所说芯片内部是有振荡电路,这是完全作为时钟用,只是精度没普通晶振高而已。
没外部的时钟电路完全可以正常使用。不用管那些帖子。 有内部晶振,他会首先检测外部晶振,如果外部晶振没有正常的启动,他就会自动的启动内部晶振,但是频率需要看手册
你去看看STM32的时钟树,提醒一下,使用内部时钟时,最高到不了72MHz。只能配置到64MHz
去看RCC章节,103上电,复位成功后,MCU将默认内部16MHz(HSI)8分频也就是2MHz运行,你可以去修改内部PLL,也可以去切换外部高速时钟HSE,如果切换不成功,会有错误标记,切换成功,就按你配置的PLL使用外部时钟运行。
这就是103没有外部HSE,STM32也能运行。只不过内部的RC精度与外部的PPM差些,尤其是全温度范围,不做精确计时也没啥大碍。 STM32启动的时候,系统时钟就是内部HSI时钟,就算你接了外部时钟,也要先使用HSI启动,然后运行你的时钟配置代码,再切换到外部时钟 对于有串口,CAN之类的,要求波特率比较准确的,最好还是有外部晶振,外部晶振的精度比内部RC振荡高几百倍。 可以用内部时钟震荡器啊 在没有外部晶振时可以使用内部时钟 它内置了内部振荡器。 虽然内部振荡器可以使芯片在没有外部晶振的情况下工作,但其稳定性和精度通常不如外部晶振。 该芯片支持内部时钟源。 长期依赖内部RC振荡器作为时钟源可能不适用于所有应用,因为它可能会因为温度、电压变化等因素导致时钟不稳定。 看看
如果系统启动时没有晶振,那么可能会使用某种默认的时钟源,例如内部RC振荡器。 有一个选项可以使能内部振荡器,并选择其作为系统时钟源。 通常还是建议使用外部晶振来提供稳定的时钟信号。 好像是启动时候用的内部晶振,启动完成才会切换成外部晶振的 STM32F103C8T6是一款基于ARM Cortex-M3核心的32位微控制器,它广泛应用于各种嵌入式系统中。最小系统是指保证微控制器能正常运行的最少组件集合,通常包括供电电路、时钟源、复位电路等基本组成部分。 内部振荡器的存在解释了为什么STM32F103C8T6芯片在没有外部晶振的情况下仍能工作。不过,在某些应用场景下,可能需要更稳定的时钟源,这时就会使用外部晶振。外部晶振可以提供比内部振荡器更准确的时钟信号,这对于要求高精度的应用场合是非常重要的。