嵌入式软件--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最重要的就是时序。

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

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

相关推荐
虎王物联8 小时前
STM32 HAL库串口DMA空闲中断:高效接收不定长Modbus数据帧
stm32·单片机·嵌入式硬件·dma·modbus
自小吃多8 小时前
DXF文件导入与PCB板框定义笔记
笔记·嵌入式硬件
SUNNYSPY0018 小时前
AO4402-ASEMI便携设备电源开关AO4402
单片机
单片机仿真设计11 小时前
【proteus仿真】基于 STC89C52 单片机家用智能台灯设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
2601_9507906811 小时前
深圳国产单片机厂商怎么选?技术能力与服务能力检查表
单片机·嵌入式硬件·国产mcu·芯片厂商·深圳单片机·单片机选型
hongmai66688813 小时前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
笨笨饿13 小时前
#135_代码中的类型重定义艺术:从基础封装到函数类型设计
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
西城微科方案开发14 小时前
高精度低功耗胎压计方案——气压表解决方案
单片机·嵌入式硬件
LavaLin0115 小时前
STM32H562RGT6 与 STM32F722RET6 规格对比
stm32
VALENIAN瓦伦尼安教学设备15 小时前
设备状态检测振动分析实训台案例分析
大数据·数据库·人工智能·嵌入式硬件·算法