当前位置: 首页 > 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

请添加图片描述

相关文章:

STM32 GPIO 模块

B站视频地址:芯片内部GPIO模块细节 引脚 将 STM32 芯片,类比为【大脑】 而旁边的引脚,类比为【神经】 通过引脚,使得,STM32,可以和外部世界,进行交流 比如,当我们和别人说话时&am…...

网络剪枝——network-slimming 项目复现

目录 文章目录 目录网络剪枝——network-slimming 项目复现clone 存储库Baselinevgg训练结果 resnet训练结果 densenet训练结果 Sparsityvgg训练结果 resnet训练结果 densenet训练结果 Prunevgg命令结果 resnet命令结果 densenet命令结果 Fine-tunevgg训练结果 resnet训练结果 …...

Spring 懒加载的实际应用

引言 在 Spring 框架中,懒加载机制允许你在应用程序运行时延迟加载 Bean。这意味着 Bean 只会在第一次被请求时才实例化,而不是在应用程序启动时就立即创建。这种机制可以提高应用程序的启动速度,并节省内存资源。 Spring 的懒加载机制 懒…...

PyQT 串口改动每次点开时更新串口信息

class MainWindow(QWidget, Ui_Form):def __init__(self):super().__init__(parentNone)self.setupUi(self)self.comboBox.installEventFilter(self) # 加载事件过滤器self.comboBox.addItems(get_ports())def eventFilter(self, obj, event): # 定义事件过滤器if isinstance(o…...

三级_网络技术_19_路由器的配置及使用

1.在Cisco路由器上配置DHCP服务,使得客户端可以分配到的地址范围是222.28.71.2-222.28.71.200地址租用时间是2小时30分钟,不记录地址冲突日志默认路由是222.28.71.1,分配的dns服务器地址是222.28126.27和222.28.126.26。以下配置完全正确的是…...

【STM32 Blue Pill编程】-STM32CubeIDE开发环境搭建与点亮LED

开发环境搭建与点亮LED 文章目录 开发环境搭建与点亮LED1、STM32F103C8T6及STM32 Blue Pill 介绍2、下载并安装STM32CubeIDE3、编程并点亮LED3.1 在Stm32CubeIDE中编写第一个STM32程序3.1.1 创建项目3.1.2 设备配置3.1.2.1 系统时钟配置3.1.2.2 系统调试配置3.1.2.3 GPIO配置3.…...

【数据结构】六、图:4.图的遍历(深度优先算法DFS、广度优先算法BFS)

三、基本操作 文章目录 三、基本操作1.图的遍历1.1 深度优先遍历DFS1.1.1 DFS算法1.1.2 DFS算法的性能分析1.1.3 深度优先的生成树和生成森林 1.2 广度优先遍历BFS1.2.1 BFS算法1.2.2 BFS算法性能分析1.2.3 广度优先的生成树和生成森林 1.3 图的遍历与图的连通性 1.图的遍历 图…...

29、号外!号外!ERA5再分析数据下载方式更新啦

文章目录 1. 前言2. 账号注册与协议签署2.1 账号注册2.2 签署CDS-Beta使用条款2.3 更新.cdsapi文件 3. 常见问题与解决方法(持续更新中)3.1 问题1:更新完.cdsapi文件之后,原有下载代码不可以使用3.2 问题2: RuntimeError: 403 Cli…...

智能识别,2024年SD卡数据恢复软件的智能进化

除了手机之外现在有不少的设备还是依靠SD卡来存储数据,比如相机、摄像头、无人机等。有的时候会因为一些意外的情况导致数据丢失,那是真的丢失了吗?大部分情况还是可以依靠sd卡数据恢复工具来找回这些“消失”的数据哦。 1.福昕数据恢复 链…...

浙大数据结构慕课课后题(04-树5 Root of AVL Tree)

题目要求: AVL 树是一种自平衡的二叉搜索树。在 AVL 树中,任何节点的两个子子树的高度最多相差一;如果在任何时候它们相差不止一,则进行重新平衡以恢复此属性。图 1-4 说明了旋转规则。 图1 图2 图3 图4 现在给定一系列插入,您应该…...

Golang | Leetcode Golang题解之第331题验证二叉树的前序序列化

题目&#xff1a; 题解&#xff1a; func isValidSerialization(preorder string) bool {n : len(preorder)slots : 1for i : 0; i < n; {if slots 0 {return false}if preorder[i] , {i} else if preorder[i] # {slots--i} else {// 读一个数字for i < n &&…...

zdppy+vue3+onlyoffice文档管理系统项目实战 20240812上课笔记

遗留问题 1、增加新建和导入按钮&#xff0c;有按钮了&#xff0c;但是还没有完善&#xff0c;图标还不对&#xff0c;需要解决 2、登录功能 3、用户管理 4、角色管理 5、权限管理 6、分享功能 解决新建和导入的图标问题 解决代码&#xff1a; <a-button type"prim…...

怎么将mov视频转换成mp4?将mov视频转换成mp4的方法

怎么将mov视频转换成mp4&#xff1f;由于mov格式通常与苹果设备兼容性较好&#xff0c;而mp4则更广泛地支持于各种播放器和设备中&#xff0c;因此将mov转换为mp4可以确保视频在更多场景下能够流畅播放。通过这种转换&#xff0c;你可以确保视频在各种平台和设备上的兼容性&…...

大数据技术——实战项目:广告数仓(第五部分)

目录 第9章 广告数仓DIM层 9.1 广告信息维度表 9.2 平台信息维度表 9.3 数据装载脚本 第10章 广告数仓DWD层 10.1 广告事件事实表 10.1.1 建表语句 10.1.2 数据装载 10.1.2.1 初步解析日志 10.1.2.2 解析IP和UA 10.1.2.3 标注无效流量 10.2 数据装载脚本 第9章 广…...

计算机毕业设计 家电销售展示平台 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

C# 根据MySQL数据库中数据,批量删除OSS上的垃圾文件

protected void btndeleteTask_Click(object sender, EventArgs e){//获取标识为已删除数据&#xff0c;一次加载500条int countlocks _goodsItemsApplication.CountAllNeedExecuteTask();int totalPagelocks (countlocks 500 - 1) / 500;//分批次处理for (int curentpage …...

Vue3+Element-plus+setup使用vuemap/vue-amap实现高德地图API相关操作

首先要下载依赖并且引入 npm安装 // 安装核心库 npm install vuemap/vue-amap --save// 安装loca库 npm install vuemap/vue-amap-loca --save// 安装扩展库 npm install vuemap/vue-amap-extra --save cdn <script src"https://cdn.jsdelivr.net/npm/vuemap/vue-a…...

Windows配置开机直达桌面并跳过锁屏登录界面在 Windows 10 中添加在启动时自动运行的应用

目录 Win10开机直达桌面并跳过锁屏登录界面修改组策略修改注册表跳过登录界面 在 Windows 10 中添加在启动时自动运行的应用设置系统级别服务一、Windows下使用sc将应用程序设置为系统服务1. 什么是sc命令&#xff1f;2. sc命令的基本语法3. 创建Windows服务的步骤与示例创建服…...

pythonUI自动化007::pytest的组成以及运行

pytest组成&#xff1a; 测试模块&#xff1a;以“test”开头或结尾的py文件 测试用例&#xff1a;在测试模块里或测试类里&#xff0c;名称符合test_xxx函数或者示例函数。 测试类&#xff1a;测试模块里面命名符合Test_xxx的类 函数级&#xff1a; import pytestclass Test…...

开放式耳机哪个品牌好用又实惠?五大口碑精品分享

如今开放式耳机市场日益火爆&#xff0c;不少知名品牌都在对产品进行升级迭代&#xff0c;那么如何在一众品牌型号中选择到自己最满意的那一款呢&#xff1f;开放式耳机哪个品牌好用又实惠&#xff1f;这就需要更专业的选购攻略&#xff0c;因此笔者专门整理出了专业机构的开放…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...