STM32开发教程:时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天)

STM32 第二天

一、 STM32时钟分析

寄存器:寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成

在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

控制寄存器:相当一排可通过0/1进行设置外设功能的开关,程序中通过地址查找到对应的寄存器,所以说控制寄存器的地址是唯一。

芯片时钟:芯片工作时,是需要脉冲,脉冲相当于给芯片起振,可保证芯片的正常工作,类似于人,心脏正常跳动,人体生命特征才能正常。

1HZ:一秒产生1个脉冲

频率换算单位:

1GHZ = 1000MHZ = 1000 000KHZ = 1000 000 000HZ

STM32时钟源

时钟源是可以产生

器件。

  • LSIRC 32KHZ         32 kHz 低速内部 RC (LSI RC)

  • LSEOSC                     32.168KHZ 32.768 kHz 低速外部晶振( LSE 晶振)

  • 16MHZ HSI RC           16MHZ  高速内部 RC (LSI RC)

  • 4-26MHZ HSE OSC     4-26MHZ高速外部晶振(HSE 晶振) 

    例如:XX开发板外部晶振为8MHZ

  • 注意:外部晶振产生的脉冲

    是精准,  RC振荡时钟产生的脉冲

    是不精准

    STM32主要总线时钟频率

  • SYSCLK 168MHZ

  • HCLK 168MHZ

  • AHB1/AHB2 168MHZ

  • APB1 42MHZ

  • APB2 84MHZ


  • 二、 GPIO分析

    1、GPIO

    GPIO: GPIO(英语:General-purpose input/output),通用型之输入输出的简称。

    GPIO分组

    STM32F407ZET6(芯片型号)

  • 一共有7组IO口(PA  PB  PC  PD  PE  PF  PG)

  •  每组IO口有16个IO引脚

  •  一共16X7=112个IO引脚

  • 外加2个PH0和PH1

  • 一共114个IO口引脚(I:input  O:output)

  • 原理图上GPIO连接与功能说明


    每组(PA PB  PC  PD  PE  PF  PG)通用 I/O 端口包括:

    •4 个 32 位配置寄存器(GPIOx_MODER、GPIOx_OTYPER、GPIOx_OSPEEDR 和 GPIOx_PUPDR)。

    •2 个 32 位数据寄存器(GPIOx_IDR 和 GPIOx_ODR)。

    •1 个 32 位置位/复位寄存器 (GPIOx_BSRR)、

    •1 个 32 位锁定寄存器(GPIOx_LCKR)

    •2 个 32 位复用功能选择寄存器(GPIOx_AFRH 和 GPIOx_AFRL)。


    GPIO工作方式(寄存器设置GPIO工作方式)

    n4种输入模式

    q浮空输入(没有上下拉电阻)

    q上拉输入(有上拉电阻)

    q下拉输入(有下拉电阻)

    q模拟输入

    n4种输出模式

    q开漏输出(带上拉或者下拉)

    q开漏复用功能(带上拉或者下拉)

    q推挽式输出(带上拉或者下拉)

    q推挽是复用功能(带上拉或者下拉)

    n4种最大输出速度

    q2MHZ

    q25MHZ

    q50MHZ

    q100MHZ

    注意点:

    开漏输出只能输出0(低电平),若想出输出1(高电平),需要外部接上拉电阻(类似到51单片机P0组)。

    推挽式输出可输出0(低电平)或者1(高电平),这是常用模式

    2、寄存器地址查找

    寄存器地址 = 寄存组基地址+偏移地址

    寄存器查看

    三、 LED灯开发


    1、理解led灯原理图

    LED0连接在PF9

    PF9输出低电平(0),灯亮;PF9输出高电平(1),灯灭;

    2、打开GPIOF组时钟

    //将第5位置1 使能GPIOF组时钟

    RCC_AHB1ENR |= (0x01<<5);

    3、设置PF9灯为输出模式  输出推挽 上拉 速度(50MHZ)

    4、通过GPIOF_BSRR控制LED灯亮与灭


    1、请解释上、下拉电阻作用

    上拉电阻和下拉电阻二者共同的作用是:避免电压的“悬浮”,造成电路的不稳定。

    1、概念:将一个不确定的信号,(上拉电阻)通过一个电阻与电源VCC相连,固定在高电平;(下拉电阻)通过一个电阻与电源GND相连,固定在低电平  

    2、上拉是对器件注入电流,灌电流;下拉是对引脚进行分流,拉电流;  

    3、当一个接有上拉电阻的IO端口设置为输入状态时,它的常态为高电平。

    下节公布源码,使用keil5和Proteus仿真。

    作者:Qt历险记

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32开发教程:时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天)

    发表回复