一、基础知识

本文详细介绍了ARM处理器(包括32位性能和ARM公司角色)以及STM32系列微控制器,涉及STM32的定义、不同型号的主频比较、启动模式选项、时钟源选择和GPIO功能及其工作模式,适合初学者了解嵌入式开发的基础知识。
摘要由CSDN通过智能技术生成

目录

1、ARM处理器

2、STM32

        1. 定义

        2. 主频

        3. 启动模式

        4. 时钟源

        5. GPIO


1、ARM处理器

        32 位处理器(一次处理 32bit 即 4 字节。处理速度更快,可调用的内存更大), 是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine(arm公司只卖IP,不生产)。

        8bit=1Byte,1KB=1024Byte=8*1024bit,1M=1024KB

2、STM32

1. 定义

        STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核 。按内核架构分为不同产品:

        主流产品:STM32F0、STM32F1、STM32F3

        超低功耗产品:STM32L0、STM32L1、STM32L4、STM32L4+

        高性能产品:STM32F2、STM32F4、STM32F7、STM32H7

2. 主频

(1)STM32F1 主频 72 MHz

        高级高性能总线 AHB,最大频率 72MHz;

        高级外围总线 APB,APB1 最大频率 36MHz,APB2 最大频率 72MHz;

(2)STM32F407 主频 168 MHz

        高级高性能总线 AHB,AHB1 & AHB2 最大频率 168MHz;

        高级外围总线 APB,APB1 最大频率 42MHz,APB2 最大频率 84MHz;

(3)STM32F429 主频 180MHz

        高级高性能总线 AHB,AHB1 & AHB2 最大频率 180MHz;

        高级外围总线 APB,APB1 最大频率 45MHz,APB2 最大频率 90MHz;

(4)STM32F7 主频 216 MHz

        高级高性能总线 AHB,AHB1 & AHB2 最大频率 216MHz;

        高级外围总线 APB,APB1 最大频率 54MHz,APB2 最大频率 108MHz;

(5)STM32H7 主频 480 MHz

        高级高性能总线 AHB,AHB1 & AHB2 & AHB3 & AHB4 最大频率 240MHz;

        高级外围总线 APB,APB1 & APB2 & APB3 & APB4 最大频率 120MHz。

STM32寻址大小:2^32 = 4G(字节)

STM32寻址范围:0x 0000 0000 —— 0x FFFF FFFF

3. 启动模式

STM32F1、F4启动模式:

        启动主闪存存储器(FLASH启动):BOOT0=0        BOOT1=X

        启动系统存储器(自举程序,串口1下载的程序):BOOT0=1        BOOT1=0

        启动内置SRAM(SEAM启动):BOOT0=1        BOOT1=1

4. 时钟源
(1)STM32F1低速时钟

        LSI 是低速内部时钟,RC 振荡器频率为40kHz 。供独立看门狗和自动唤醒单元使用。

        LSE 是低速外部时钟,接频率为 32.768kHz 的石英晶体。这个主要是 RTC 的时钟源。

(2)STM32F1高速时钟

        HSI 是高速内部时钟,RC 振荡器,频率为 8MHz。

        HSE 是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~16MHz。

(3)STM32F4低速时钟

        LSI 是低速内部时钟,RC 振荡器,频率为 32kHz 左右。供独立看门狗和自动唤醒单元使用。

        LSE 是低速外部时钟,接频率为 32.768kHz 的石英晶体。这个主要是 RTC 的时钟源。

(4)STM32F4高速时钟

        HSI 是高速内部时钟,RC 振荡器,频率为 16MHz。可以直接作为系统时钟或者用作 PLL 输入。

        HSE 是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~26MHz。HSE 也可以直接做为系统时钟或者 PLL 输入。

        PLL 为锁相环倍频输出。

5. GPIO
(1)基础操作函数

        HAL_GPIO_ReadPin(GPIO, PIN)    读取引脚电平

        HAL_GPIO_TogglePin(GPIO, PIN)       反转引脚电平

        HAL_GPIO_WritePin(GPIO, PIN, GPIO_PIN_SET)    引脚电平置1

        HAL_GPIO_WritePin(GPIO, PIN, GPIO_PIN_RESET)    引脚电平置0

(2)GPIO 的基本结构

        GPIO 是控制或者采集外部器件的信息的外设。它按组分配,每组 16 个 IO 口,组数视芯片

而定。STM32F103ZET6 芯片是 144 脚的芯片,有 GPIOAGPIOBGPIOC、 GPIOD、

GPIOEGPIOF GPIOG 七组 GPIO 口,共有 112 IO 口。

GPIO 的基本结构图

        上下拉电阻阻值大概在 30~50K 欧之间,属于弱上(下)拉
        STM32F1上下拉电阻在输入部分内,STM32F4及之后的上下拉电阻在保护二极管左边。
(3)GPIO工作模式

输入浮空——GPIO_Mode_IN_FLOATING

        上拉/下拉电阻为断开状态,施密特触发器打开,输出被禁止。

        浮空输入状态下,IO电平完全由外部输入决定,如果 IO 引脚没有连接其他的设备,那么检测其输入电平是不确定的。

输入上拉——GPIO_Mode_IPU

        上拉电阻导通,施密特触发器打开,输出被禁止。

        在需要外部上拉电阻的时候,可以使用内部上拉电阻,这样可以节省一个外部电阻,但是内部上拉电阻的阻值较大,所以只是“弱上拉”,不适合做电流型驱动。


输入下拉——GPIO_Mode_IPD

        下拉电阻导通,施密特触发器打开,输出被禁止。

        在需要外部下拉电阻的时候,可以使用内部下拉电阻,这样可以节省一个外部电阻,但是内部下拉电阻的阻值较大,所以不适合做电流型驱动。


模拟输入——GPIO_Mode_AIN

        上下拉电阻断开,施密特触发器关闭,双 MOS 管也关闭。

        该模式用于 ADC 采集或者 DAC 输出,或者低功耗下省电。


开漏输出——GPIO_Mode_Out_OD

        输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对强。

        利用外部电路的驱动能力,减少IC内部的驱动。

        可以将多个开漏输出的Pin,连接到一条线上,通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线判断总线占用状态的原理。


推挽输出——GPIO_Mode_Out_PP

        可以输出高,低电平,连接数字器件。

        输出既可以向负载灌电流,也可以从负载抽取电流。

        推拉式输出级既提高电路的负载能力,又提高开关速度

        推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。


开漏式复用功能——GPIO_Mode_AF_OD

        一个 IO 口可以是通用的 IO 口功能,还可以是其他外设的特殊功能引脚,这就是 IO 口的复用功能。

        在开漏式复用功能模式下,施密特触发器也是打开的,我们可以读取 IO 口的电平状态,同时外设可以读取 IO 口的信息。

推挽式复用功能——GPIO_Mode_AF_PP

参考链接:【STM32入门】STM32基础理论知识_stm32基础知识-CSDN博客 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无敌暴龙战士朵拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值