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

这篇具有很好参考价值的文章主要介绍了STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STM32 第二天

一、 STM32时钟分析

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

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

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

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

1HZ:一秒产生1个脉冲

频率换算单位:

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

STM32时钟源

时钟源是可以产生

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,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

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

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,stm32,单片机,嵌入式硬件,嵌入式软件

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

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,stm32,单片机,嵌入式硬件,嵌入式软件

是不精准

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连接与功能说明


STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,stm32,单片机,嵌入式硬件,嵌入式软件

每组(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、寄存器地址查找

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

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,stm32,单片机,嵌入式硬件,嵌入式软件

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,stm32,单片机,嵌入式硬件,嵌入式软件

寄存器查看

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,stm32,单片机,嵌入式硬件,嵌入式软件

三、 LED灯开发


1、理解led灯原理图

LED0连接在PF9

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

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,stm32,单片机,嵌入式硬件,嵌入式软件

2、打开GPIOF组时钟

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

RCC_AHB1ENR |= (0x01<<5);

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

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


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

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

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

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

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

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天),STM32嵌入式软件开发工程师课程,stm32,单片机,嵌入式硬件,嵌入式软件

下节公布源码,使用keil5和Proteus仿真。文章来源地址https://www.toymoban.com/news/detail-837292.html

到了这里,关于STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【STM32】读写BKP备份寄存器&RTC实时时钟

    目录 BKP BKP简介 BKP基本结构 BKP测试代码 RTC RTC简介 RTC框图 RTC基本结构 硬件电路 RTC操作注意事项 接线图 初始化 使用BKP解决只初始化一次时间  初始化参考代码 RTC设置时间 RTC读取时间 完整代码 MyRTC.c MyRTC.h main.c BKP(Backup Registers)备份寄存器 BKP可用于存储用户应用程序数据

    2024年04月22日
    浏览(41)
  • 明解STM32—GPIO理论基础知识篇之寄存器原理​

    一、前言         在之前的STM32的GPIO理论基础知识中,分别对基本结构和工作模式进行了详细的介绍。GPIO基本结构中主要对GPIO内部的各个功能电路逐一的进行的分析;GPIO工作模式中主要介绍GPIO应用在不同的使用场景下,GPIO端口的静态特征配置和动态的工作模式,同时对

    2024年02月16日
    浏览(40)
  • STM32F103ZET6 GPIO工作模式介绍+使用寄存器点亮第一个LED灯

    目录  GPIO的工作模式介绍 1.输入模式(模拟、上拉、下拉、浮空) 2.输出模式(推挽/开漏) 3.复用功能(推挽/开漏) 4.模拟输入输出(上下拉无影响) 如何使用寄存器点亮第一个LED灯         在输入模式时,施密特触发器打开,输出被禁止。可通过输入数据寄存器 GPIOx_

    2024年02月06日
    浏览(47)
  • STM32萌新学习日志——用GPIO外设寄存器输出点亮LED对比库函数点亮LED——谈学习感悟

            本周学习STM32单片机,由于之前学过51单片机,为了便于切入,先学习了寄存器点亮LED灯的方法,整体思路与51单片机相似。在基本掌握后,尝试自己构建库函数雏形,过程比较困难,后面开始借鉴野火官方库函数。         这里其实建议大家在学会构建库函数后

    2024年03月17日
    浏览(86)
  • STM32CubeMX教程10 RTC 实时时钟 - 周期唤醒、闹钟A/B事件和备份寄存器

    开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 野火DAP仿真器 XCOM V2.6串口助手 使用STM32CubeMX软件配置STM32F407开发板 实现RTC周期唤醒、闹钟A/B事件功能 ,具体为在周期唤醒时利用串口输出当前RTC记录时间,当闹钟

    2024年02月03日
    浏览(38)
  • STM32 i2c读写寄存器地址8位,16位的方法

    一般常用的寄存器地址是8位的,遇到一个寄存器地址为16为的器件。总结一下代码编写。 寄存器地址16位的为SY103,寄存器地址为8位的为LT7911. 测试代码 lt7911该位置寄存器参考手册 sy103该位置寄存器参考手册 仿真测试 可以看到把值写入到相对应的寄存器内,并且读出。

    2024年01月19日
    浏览(53)
  • STM32 | GPIO口的普通与复用如何配置与用法,本文降从最底层教你如何查看手册运用寄存器来实现GPIO口的配置

    🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 -  蓝桥杯嵌入式_勾栏听曲_0的博客 🍻欢迎大家  🏹  点赞👍  评论📨  收藏⭐️ 📌个人主

    2024年02月14日
    浏览(35)
  • stm32的BRR寄存器和BSRR寄存器

    1、BRR---   bit   RESET(置0)  register   //高16位无,低16位置1为0,不能写1 2 、BSRR---   bit   SET(设置1或0)       register   //低16位设置1为0 BSRR:用于低16位的作用是让指定的IO口置1;而高16位的作用是让指定的IO口置0。  

    2024年02月11日
    浏览(38)
  • STM32之寄存器

    在学习STM32之前有必要了解一下ARM架构,以下相关ARM架构的知识来自百度百科​:​ ARM架构,曾称进阶精简指令集机器(Advanced RISC Machine)更早称作Acorn RISC Machine,是一个32位精简指令集(RISC)架构。还有基于ARM设计的派生产品,重要产品包括Marvell的XScale架构和德州仪器的

    2024年02月22日
    浏览(41)
  • STM32寄存器点亮LED灯

     这个灯是 PB5引脚 看原理图可以看出 让GPIOB5输出低电平 就能点亮 那么我们得让 打开控制GPIOB5的时钟 让GPIOB5 输出模式 让GPIOB5低电平 时钟就相当于一个阀门开关,或者理解成水龙头,你打开了 才有水出来,也就是你打开才能工作。 看中文参考手册 系统架构 找到你的GPIO

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包