单片机F4与F1的外部晶振和延时

F4系列

延时:系统滴答定时器

SysTick_Config(168000);延时1ms,就是进入void SysTick_Handler(void)中断的时间是1ms
168MHZ是怎么来的??
单片机的时钟频率是怎么来的?
看图:
在这里插入图片描述
单片机的最高时钟频率是由外部晶振进行提供的
比如,F4的开发板的外部晶振是8MHz,
8MHz的经在进行/M的分频之后进入PLL锁相环,在进行*N的倍频之后,再进行/P分频就得到了PLLCLK====也就是SYSCLK最高168MHz
程序中在smt32f4xx_it.h中的修改位置如下:
在这里插入图片描述
8MHz/8*336/2=168MHz
即使把这里修改了,但是,在串口打印的时候,也可能会出现乱码
在这里就会出现两个情况,

  1. 使用寄存器编写的串口初始化函数就不会出现乱码
  2. 使用库函数编写的串口初始化函数就会出现乱码
    其根本原因是没有修改 smt32f4xx.h 中是外部晶振频率,系统默认是25000000hz 修改成8000000就可以了,就不会出现乱码了在这里插入图片描述

F1系列

F1的串口乱码和延时1ms也是修改stm32f10x_it.h中的相关频率,也是根据外部晶振频率进行相关设定的
代码具体位置:
在这里插入图片描述
F1最高是72MHz,如果外部晶振是8MHz的话,就写成:RCC_CFGR_PLLMULL9
如果外部晶振是12MHz的话,就写成:RCC_CFGR_PLLMULL6

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值