STM32 GPIO的工作原理

STM32的GPIO管脚有下面8种可能的配置:(4输入 +2 输出 +2 复用输出)


(1)浮空输入_IN_FLOATING

        在上图上,阴影的部分处于不工作状态,尤其是下半部分的输出电路,实际上是与端口处于隔离状态。黄色的高亮部分显示了数据传输通道,外部的电平信号通过左边编号1的I/0 端口进入STM32,经过编号2的施密特触发器的整形送入编号3的“输入数据寄存器”,在“输入数据寄存器”的另一端(编号4),CPU可以随时读出1/0 端口的电平状态

(2)带上拉输入_ IPU  

上拉电阻30k-50k起抗干扰作用。 

(3)带下拉输入_IPD


(4)模拟输入_AIN


(5)开漏输出_OUT_OD


(6)开漏复用输出_AF_OD


(7)推挽输出_OUT_PP


(8)推挽复用输出_AF_PP 

      STM32的每个 I0端口都有7个寄存器来控制。他们分别是:配置模式的2 个32 位的端口配置寄存器CRL和CRH; 2个32 位的数据寄存器IDR 和ODR;1个32 位的置位/复位寄存器BSRR;1个 16位的复位寄存器 BRR;1个32位的所存寄存器LCKR;常用的I0端口寄存器只有4个:CRL、CRH、IDR、ODR 。

32 位的端口配置寄存器CRL和CRH

寄存器复位值为0x44444444,CRL控制的是低8位输出口,CRH控制的是高8位输出口。

0X4表示模拟输入模式(ADC用);0X3表示推挽输出模式(做输出口,50M速率);0X8表示上下拉输入模式(做输入口用);0XB表示复用输出(使用IO口的第二功能,50M速率)。

给个实例,比如我们要设置PORTC的11 位为上拉输入,12位为推挽输出。代码如下:

GPIOC->CRH&=0XFFF00FFF;//清掉这 2个位原来的设置,同时也不影响其他
位的设置
GPIOC->CRH|=0X0003800;//PC11输入,PC12输出
GPIOC->ODR=1<<11://PC11上拉

 32 位的数据寄存器IDR 和ODR

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/789768.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在攻防演练中遇到的一个“有马蜂的蜜罐”

在攻防演练中遇到的一个“有马蜂的蜜罐” 有趣的结论&#xff0c;请一路看到文章结尾 在前几天的攻防演练中&#xff0c;我跟队友的气氛氛围都很好&#xff0c;有说有笑&#xff0c;恐怕也是全场话最多、笑最多的队伍了。 也是因为我们遇到了许多相当有趣的事情&#xff0c;其…

Mac窗口辅助管理工具:Magnet for mac激活版

magnet mac版是一款运行在苹果电脑上的一款优秀的窗口大小控制工具&#xff0c;拖拽窗口到屏幕边缘可以自动半屏&#xff0c;全屏或者四分之一屏幕&#xff0c;还可以设定快捷键完成分屏。这款专业的窗口管理工具当您每次将内容从一个应用移动到另一应用时&#xff0c;当您需要…

python学习-容器类型

列表 列表&#xff08;list&#xff09;是一种有序容器&#xff0c;可以向其中添加或删除任意元素. 列表数据类型是一种容器类型&#xff0c;列表中可以存放不同数据类型的值,代码示例如下&#xff1a; 列表中可以实现元素的增、删、改、查。 示例代码如下&#xff1a; 增 …

医疗器械网络安全 | 漏洞扫描、渗透测试没有发现问题,是否说明我的设备是安全的?

尽管漏洞扫描、模糊测试和渗透测试在评估系统安全性方面是非常重要和有效的工具&#xff0c;但即使这些测试没有发现任何问题&#xff0c;也不能完全保证您的医疗器械是绝对安全的。这是因为安全性的评估是一个多维度、复杂且持续的过程&#xff0c;涉及多个方面和因素。以下是…

AI提示词:打造爆款标题生成器

打开GPT输入以下内容&#xff1a; # Role 爆款标题生成器## Profile - author: 姜小尘 - version: 02 - LLM: Kimi - language: 中文 - description: 利用心理学和市场趋势&#xff0c;生成吸引眼球的自媒体文章标题。## Background 一个吸引人的标题是提升文章点击率和传播力…

优化爬虫体验:揭秘IP重复率过高问题解决方案

在当今信息爆炸的时代&#xff0c;网络中蕴藏着大量宝贵的数据&#xff0c;而爬虫技术成为我们提取这些数据的重要工具。然而&#xff0c;随着爬虫的广泛使用&#xff0c;IP重复率高的问题也随之而来。本篇博文将揭秘解决这一问题的关键方法——使用IP代理。 一、 IP高重复问题…

手慢无,速看︱PMO大会内部学习资料

全国PMO专业人士年度盛会 每届PMO大会&#xff0c;组委会都把所有演讲嘉宾的PPT印刷在了会刊里面&#xff0c;供大家会后回顾与深入学习。 第十三届中国PMO大会-会刊 《2024第十三届中国PMO大会-会刊》 &#xff08;内含演讲PPT&#xff09; 会刊&#xff1a;750个页码&…

TK 检查输入框是否为空

在Python的Tkinter库中&#xff0c;你可以使用事件绑定或者在按钮点击事件中检查输入框的值是否为空来实现这个功能。以下是一个简单的例子&#xff1a; import tkinter as tk from tkinter import messageboxdef check_input():entry input_box.get()if not entry:messagebo…

《梦醒蝶飞:释放Excel函数与公式的力量》10.4 IMREAL函数

第四节 10.4 IMREAL函数 10.4.1 函数简介 IMREAL函数是Excel中的一个工程函数&#xff0c;用于提取复数的实部。在复数运算中&#xff0c;实部是复数的一部分&#xff0c;表示没有虚部参与的部分。IMREAL函数提供了一个简单的方法来获取复数的实部&#xff0c;便于进一步计算…

Java 8革新:现代编程的全新标准与挑战

文章目录 一、方法引用二、接口默认方法三、接口静态方法四、集合遍历forEach()方法 一、方法引用 方法引用是Java 8中一种简化Lambda表达式的方式&#xff0c;通过直接引用现有方法来代替Lambda表达式。 方法引用使得代码更加简洁和易读&#xff0c;特别是在处理函数式接口时&…

ns3学习笔记(四):路由概述

基于官网文档的 Routing Overview 部分详细研究一下ns3中路由是怎么工作的 文档链接16.4. Routing overview — Model Library 一、概述 NS3整体的工作架构如下&#xff1a; 路由部分的工作架构如下&#xff1a; 路由部分目前大多数用到的算法都包含在Ipv4RoutingProtocol部分…

常用网络概念

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ​​ 目录 了解组织 局域网技术 …

【Ty CLI】一个开箱即用的前端脚手架

目录 资源链接基础命令模板创建命令帮助选择模板开始创建开发模板 开发背景npm 发布流程问题记录模板创建超时 更新日志 资源链接 文档&#xff1a;https://ty.cli.vrteam.top/ 源码&#xff1a;https://github.com/bosombaby/ty-cli 基础命令 1. npm 全局安装 npm i ty-cli…

开发个人Go-ChatGPT--6 OpenUI

开发个人Go-ChatGPT–6 OpenUI Open-webui Open WebUI 是一种可扩展、功能丰富且用户友好的自托管 WebUI&#xff0c;旨在完全离线运行。它支持各种 LLM 运行器&#xff0c;包括 Ollama 和 OpenAI 兼容的 API。 功能 由于总所周知的原由&#xff0c;OpenAI 的接口需要密钥才…

NAS免费用,鲁大师 AiNAS正式发布,「专业版」年卡仅需264元

7月10日&#xff0c;鲁大师召开新品发布会&#xff0c;正式发布旗下以“提供本地Ai部署和使用能力以及在线NAS功能”并行的复合软件产品&#xff1a;鲁大师 AiNAS。 全新的鲁大师 AiNAS将持续满足现如今大众对于数字化生活的全新需求&#xff0c;将“云存储”的便捷与NAS的大容…

html5——表单

目录 表单基本结构 表单标签 常用表单元素 文本框 密码框 邮箱 单选按钮 复选框 文件域 隐藏域 列表框 多行文本域 lable标签 表单按钮 常用表单属性 只读与禁用 placeholder required pattern autofocus autocomplete 用于指定表单是否有自动完…

软件架构之系统分析与设计方法(2)

软件架构之系统分析与设计方法(2&#xff09; 8.4 面向对象的分析与设计8.4.1 面向对象的基本概念8.4.2 面向对象分析8.4.3 统一建模语言 8.5 用户界面设计8.5.1 用户界面设计的原则8.5.2 用户界面设计过程 8.6 工作流设计8.6.1 工作流设计概述8.6.2 工作流管理系统 8.7 简单分…

vue3 ts 报错:无法找到模块“../views/index/Home.vue”的声明文件

解决办法&#xff1a; env.d.ts 新增代码片段&#xff1a; declare module "*.vue" {import type { DefineComponent } from "vue";// eslint-disable-next-line typescript-eslint/no-explicit-any, typescript-eslint/ban-typesconst component: Define…

STM32基础篇:中断编程 × NVIC ×

中断的概念 什么是中断 中断&#xff1a;正在进行的事务被突发事件打断&#xff0c;转而处理这个突发事件&#xff0c;突发事件处理完成后回到被打断的事务继续执行&#xff0c;这一处理突发事件的过程叫做中断。 对于STM32&#xff0c;由于中断源的触发&#xff0c;常规程序…

人工智能技术如何让中风瘫痪妇女重新获得声音,更自然地更高效地与人交流?

加州大学旧金山分校和伯克利分校的研究人员开发了一种创新的脑机接口&#xff08;BCI&#xff09;技术&#xff0c;使一位因中风而失去说话能力的女士Ann通过数字分身恢复了交流能力。这项技术首次实现了从大脑信号中合成语音和面部表情。 Ann在30岁时因脑干中风导致全身瘫痪&…