嵌入式软件--stm32 DAY 8.5 基础复习总结

1.时钟树

在数据手册里面,有一张密密麻麻的图,正是时钟系统里的时钟树。

对于时钟,我们注意有两点。一个是系统时钟SYSCLK,一个是依赖外部晶振生成的RTC.

RTC以外部低速晶振作为时钟源或者外部高速晶振128分频后作为时钟源,又或者以内部低速时钟,三选一。我们一般用外部低速晶振。

我们的开发板一般会接两个外部晶振,一高速一低速。

系统时钟也是三选一,内部高速时钟,外部高速时钟和PLLCLK。

PLL:8MHZ外部高速晶振不分频走入PLLSRC,然后倍频(九倍频)作为系统时钟。

虽然有内部,但一般我们都会选择外部晶振,因为内部时钟稳定性不高。但在最先启动单片机上外部晶振时,会有一段起振时间,先得启动内部时钟,二分频后接入PLLSRC.

这几种路径都是为了得到系统总线时钟AHB,也叫高速系统总线,到了AHB这里就不分频了,就是最大72MHZ。

Cortex系统时钟默认8分频,也就是9Mhz,他其实就是SYSTICK系统时钟(系统滴答定时器)。

在连接外设的时候,会有APB1/APB2这样的桥接。APB1前面时72MHZ的AHB,在这里必须至少要二分频。因为APB1他的最大时钟频率36Mhz。

这张图是芯片的总线架构,很清楚的张列了挂载在系统总线上的外设。同一类外设也会挂载在不同速度的总线上,比如USART1,波特率115200.

比如I2C1 I2C2是低速总线,挂在APB1上。

2.调试口

最简易的调试口,除了SWD引脚外,就只有供电和接地引脚。只满足程序烧写功能。

我们用的STink调试口,则包含了串口输出和输入。8针排座,可以串口转USB。

SWD仿真引脚,也是一跟数据线,一根时钟线,和I2C线很像,但I2C是半双工,SWD引脚烧写是单向传输的,不可能反过来烧录程序。

我们基本用老套方式开发,寄存器写法和调取HAL库。

3.点灯

这是我们开发32的最基本的工程,里面用到的就是GPIO。

复用功能,是来自片上外设,GPIO内部集成了这种外设,就能被复用。

每个gpio拥有的模块功能可以选择,但不能改变,这是提前设计好的。

4.USART外设

异步通信 一根线收发全双工交换数据

串口与IIC不同

5.IIC协议

串行同步半双工,SDA SCL双线设备,开漏模式往往外接上拉电阻保证电平能起来。

IIC最重要的就是时序。

读字节时有假写真读的过程。

无论写还是读,都要主设备想从设备发送一个要指定访问的内部寄存器地址。

相关推荐
CC呢3 小时前
基于单片机汽车防撞系统设计
stm32·单片机·嵌入式硬件·汽车
努力的小帅3 小时前
CAN通信入门
网络·stm32·单片机·嵌入式硬件·stm32c8t6·can总线通信
学习噢学个屁4 小时前
基于STM32的交通灯设计—紧急模式、可调时间
c语言·stm32·单片机·嵌入式硬件
gmmi10 小时前
嵌入式学习 51单片机(3)
单片机·学习·51单片机
CC呢11 小时前
基于单片机智能热水壶/养生壶设计
单片机·嵌入式硬件·单片机设计
贾亚超13 小时前
【STM32外设】DAC
stm32·单片机·嵌入式硬件
明天见~~14 小时前
硬件基础:串口通信
嵌入式硬件
sheepwjl14 小时前
《嵌入式硬件(三):串口通信》
网络·嵌入式硬件·网络协议·串口通信
嵌入式牛马在努力帮老板娶老婆16 小时前
十四、STM32-----低功耗
stm32·单片机·嵌入式硬件
来生硬件工程师16 小时前
【硬件笔记】负载是如何烧MOS的?
笔记·嵌入式硬件·硬件架构·硬件工程·硬件设计