当前位置: 首页 > news >正文

STM32 GPIO 模块

B站视频地址:芯片内部GPIO模块细节

引脚

将 STM32 芯片,类比为【大脑】
而旁边的引脚,类比为【神经】
通过引脚,使得,STM32,可以和外部世界,进行交流

比如,当我们和别人说话时,我们通过嘴巴(输出)来说话,通过耳朵(输入)来听声音
STM32也是这样,它的引脚可以用来接收信息(输入)或发送信息(输出)

  • 输入引脚:类比:热水壶,当水烧开,沸腾,水壶盖被顶起,压力传感器,将信息,传给 STM32
  • 输出引脚:按钮,按下灯开或灯灭
  • 双向引脚:遥控,按下,发送信息;同时,可以接受发过来的信息,看看是否操作成功

操作 LED 灯,4个步骤

  1. 使能 GPIO 模块(GPIO 模块,默认不工作)
  2. 选择 PIN2 的功能:连接到 GPIO 模块
  3. 配置 GPIO 模块,让引脚,作为输出引脚
  4. 配置 GPIO 模块,让引脚,作为输出 高/低 电平

在这里插入图片描述

上拉,下拉电阻

GPIO 输出

电压表,测容量电阻两端的电压
要求:电压表,内阻,必须非常大;否则,会影响被测电路的状态,这样,测得的电压,就不准了

当 IO 引脚,工作在输入模式下的时候,它的作用,就是去测量,外部输入信号的电压
相当于一块电压表,因此,内阻,应该是无穷大的
无穷大的电阻,相当于开路

如果引脚不接上拉、下拉电阻,这个时候,IO 引脚完全悬空
悬空的引脚,就像一条天线,会接受空间的电磁波,会读到随机的 0、1

“松开按钮” 和 “按下按钮” 的英文翻译分别是

  • 松开按钮: Release the button
  • 按下按钮: Press the button

请添加图片描述

施密特触发器的作用

在这里插入图片描述

输出模式

GPIO 四种输出模式

这个讲的真是绝了,通俗易懂,看视频吧

输出
推挽:交替导通;0下1上
开漏:上管横断(上面的 MOS 管,一直保持断开);0下1 - 高阻抗
因为引脚上没有电流,所以根据 R = U / I = ∞,电阻无穷大的输入状态,成为高阻态

通用:通过程序,直接控制 IO 引脚
复用:将 IO 引脚的控制权,交给芯片上的其他模块(比如,引脚被串口模块托管,我们就不能直接控制这个引脚的输出为 高电压 还是 低电压 了)

推挽输出模式

请添加图片描述

复用推挽输出、复用推漏输出:就是 Alternate Function Output 那边的

开漏输出模式

请添加图片描述

操作 GPIO

操作 GPIO
1)设置方向
2)设置

  • 设置模式
    • 输入:上拉、下拉
    • 输出:推挽、开漏(MOS 管漏极,和其他电路,是断开的)
  • 设置速率
    • 电平,不可能瞬间突变
    • 低电平,变为高电平的时间:取决于你的设置
      • 快:对外界电磁干扰,比较大

3)
- 输入:读取值
- 输出:写值

GPIO 源码分析

本质:操作寄存器
请添加图片描述

GPIO_Init

请添加图片描述

http://www.lryc.cn/news/421740.html

相关文章:

  • 网络剪枝——network-slimming 项目复现
  • Spring 懒加载的实际应用
  • PyQT 串口改动每次点开时更新串口信息
  • 三级_网络技术_19_路由器的配置及使用
  • 【STM32 Blue Pill编程】-STM32CubeIDE开发环境搭建与点亮LED
  • 【数据结构】六、图:4.图的遍历(深度优先算法DFS、广度优先算法BFS)
  • 29、号外!号外!ERA5再分析数据下载方式更新啦
  • 智能识别,2024年SD卡数据恢复软件的智能进化
  • 浙大数据结构慕课课后题(04-树5 Root of AVL Tree)
  • Golang | Leetcode Golang题解之第331题验证二叉树的前序序列化
  • zdppy+vue3+onlyoffice文档管理系统项目实战 20240812上课笔记
  • 怎么将mov视频转换成mp4?将mov视频转换成mp4的方法
  • 大数据技术——实战项目:广告数仓(第五部分)
  • 计算机毕业设计 家电销售展示平台 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • C# 根据MySQL数据库中数据,批量删除OSS上的垃圾文件
  • Vue3+Element-plus+setup使用vuemap/vue-amap实现高德地图API相关操作
  • Windows配置开机直达桌面并跳过锁屏登录界面在 Windows 10 中添加在启动时自动运行的应用
  • pythonUI自动化007::pytest的组成以及运行
  • 开放式耳机哪个品牌好用又实惠?五大口碑精品分享
  • 代码随想录算法训练营day39||动态规划07:多重背包+打家劫舍
  • WebSocket革新:用PHP实现实时Web通信
  • Python教程(十三):常用内置模块详解
  • Linux 下的进程状态
  • 【设计模式】六大基本原则
  • Selenium网页的滚动
  • 图算法系列1: 图算法的分类有哪些?(上)
  • 零样本学习——从多语言语料库数据中对未学习语言进行语音识别的创新技术
  • ViewStub的原理
  • 十一、Spring AOP
  • 【网络】IP的路径选择——路由控制