• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32芯片的晶振问题

shakencity 2018-07-13 浏览量:1887
我这个板子上用了两个晶振,算是普遍的选择吧,32.768kHz和8MHz,我想知道是在软件里面实现选用哪个晶振的吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 建议使用STM32CubeMX来配置,以STM32103C8T6为例,如下图所示:

    0002.png

    0003.png

    • 发布于 2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:21
  • 你确定两个晶振都是主晶振?32一般用8M的晶振然后通过PLL倍频和后面的分频器来配置到各个需要的频率,32.768K的是RTC的晶振吧~~~

    软件里面的选择只有HSI(高速内部时钟)、HSE(高速外部时钟)、LSI、HSI等等,没法选晶振吧

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 1
    • 0

  • 对,通过寄存器的配置,选择主时钟、定时器以及各种使用时钟的模块使用的时钟源和分频数。具体参考手册上时钟的章节。
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果使用stm32cubemx来配置,就很直观。
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 要用cubmx,起码非常的清晰,不用再找资料,只要外语可以就能完成
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这两个晶振实现的是不同的功能,32.768k晶振是用于内部RTC时钟的,而8M晶振是用于STM32系统时钟的。两个的用途不一样,而且在硬件上连接了,也需要到软件中开启相应的功能才能用上这两个晶振。

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这两个晶振用处不同的,社区短视频里有专门的介绍。
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 09200129_9mG6_gif.jpg

    涉及的寄存器: 
    RCC 寄存器结构,RCC_TypeDeff,在文件“stm32f10x_map.h”中定义如下:  
    typedef struct  
    {  
    vu32 CR;                  //HSIHSECSSPLL等的使能  
    vu32 CFGR;              //PLL等的时钟源选择以及分频系数设定 
    vu32 CIR;                // 清除/使能 时钟就绪中断 
    vu32 APB2RSTR;      //APB2线上外设复位寄存器 
    vu32 APB1RSTR;      //APB1线上外设复位寄存器 
    vu32 AHBENR;         //DMA,SDIO等时钟使能 
    vu32 APB2ENR;       //APB2线上外设时钟使能 
    vu32 APB1ENR;      //APB1线上外设时钟使能 
    vu32 BDCR;           //备份域控制寄存器 
    vu32 CSR;             
    } RCC_TypeDef; 

    可以对上上面的时钟框图和RCC寄存器来学习,对STM32的时钟系统有个大概的了解,然后对照我们的《STM32不完全手册》的系统时钟配置函数void Stm32_Clock_Init(u8 PLL)一同来学习。 

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 通过寄存器配置 选择不同的晶振 
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 32.768哪个时时钟晶振,很少用到,程序里机机器时钟还是要靠8M
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 32.768应该是时钟芯片用的,8M才是单片机的晶振
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 你说的这两个晶振不是同一个晶振吧,单片机晶振 只有一个硬件接口,如果你的两个晶振是接在同一个接口的话 ,应该是使用跳线来做选择的,软件方面要做相应的配置, 选择还没有见一个单片机上面两个晶振接口,然后软件选择的 
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 32.768khz是RTC晶振一般用的不多,软件里面基本都是用8M的晶振的
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 在RCC寄存器里面配置,一般库函数会在的system_init函数里面进行选择
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 在RCC寄存器里面配置,一般库函数会在的system_init函数里面进行选择
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 8MHz是给单片机用的外部晶振,32.768kHz用于RTC时钟。

    需要使用哪一个,配置一下就行。​

    • 发布于2018-07-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 32.768KHz是实时时钟(RTC)一般是为了保证断电了,还能正常计时

    代码里用的是8M的晶振

    • 发布于2018-07-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 32.768那个晶振是给RTC用的,8M的经过倍频分频后给内核用的,二者可以同时使用,互不影响
    • 发布于2018-07-28
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32芯片的晶振问题