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

GPIO输入输出的内容补充(继上一篇)

继上一篇GPIO输入输出的内容补充

文章目录

    • GPIO输入
    • GPIO输出
    • 寄存器

GPIO输入

输入浮空、输入上拉、输入下拉

如图为官方手册中I/O端口位的输入配置。
我们可以看到,在这三种输入模式下,输出部分被断开无法使用。
模拟输入

模拟输入模式下,和其他三种输入相同的地方是都断开了输出部分。但不同的是,模拟输入还断开了数字输入,由图中可以观察到,施密特触发器(即图中TTL肖特基触发器)被关闭。

GPIO输出

推挽输出、开漏输出

复用推挽输出、复用开漏输出

在四种输出模式下,数字输入均有效。输出分析具体见上一篇博客。

寄存器

输出数据寄存器

输入数据寄存器

地址偏移决定寄存器在外设寄存器块中的位置。
GPIO 的寄存器统一设计为 32 位,便于 CPU 和总线访问。
每个 GPIO 实际最多只有 16 个引脚,因此只使用低 16 位,高 16 位作为保留位。
位设置/清除寄存器

在BSRR寄存器下,位设置、位清除可同步设置,也可单独设置。位设置低十六位,位清除高十六位,均为1有效,0无效。

BRR寄存器则只能完成位清除,低十六位有效,高十六位保留。

总结:上拉、下拉、浮空、模拟四种输入,推挽、开漏、复用推挽、复用开漏四种输出一共八种工作模式,只有模拟输入模式下数字输入无效,其他模式均有效。寄存器BRR 和 BSRR 都是“写 1 生效,写 0 无效”的命令寄存器,其中BSRR 是全能寄存器,BRR 是只能清零。

http://www.jsqmd.com/news/120144/

相关文章:

  • 0x3f第十天复习(考研日2)(9.18-12.30,14.00-15.00)
  • 逆向提示法:让大模型输出从平庸到专业的5步技巧
  • DHCP服务器:轻松管理IP自动分配 - 详解
  • MySQL的这6大雷区,大部分人都会踩中!
  • redis-基本操作指令 - yebinghuai-qq
  • 医疗AI智能体架构设计:六大核心模块与七种专业智能体类型全解析
  • Java毕设项目:基于springboot的校园零售管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • vivado hls如何实现recursive fuction递归函数
  • Docker容器操作总结 - 十里
  • CF95D Horse Races
  • 程序员必备技能:AI Agent 9种设计模式深度解析,提升大模型应用效能(值得收藏)
  • 扩展域并查集(种类并查集)
  • 算法分析--基数排序
  • 【题解】P14826 踩踩标
  • 2025-12-21
  • 港媒盛赞“香港媳妇”徐冬冬!婚照惊艳全网,港圈作品圈粉无数
  • 2025 国内公关公司 TOP10 评测!策略创新+资源整合,十大品牌权威榜单发布,专业赋能品牌传播新生态 - 全局中转站
  • 基于librosa的MFCC的音色相似度检测程序
  • Flutter官方拒绝适配鸿蒙的真相:不是技术问题,而是...
  • 【Java-JMM】Happens-before原则
  • 请教软件和业务问题,引发的思考
  • Docker容器总结 - 十里
  • 基础模型向通用智能
  • 我天,Java 已沦为老四。。
  • 写在最前面
  • Java毕设选题推荐:基于springboot的汽车租赁买卖管理系统的设计与实现汽车知识科普,租赁管理,热门汽车推荐【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 2004-基于多目标粒子群(MOPSO)算法的多阈值图像分割(Otsu 法 + 最小交叉熵)(中文核心、SCI 四区可选)
  • .net 8使用autofac以及.net core自带的注入
  • 完整教程:零基础入门C语言之C语言实现数据结构之单链表
  • Hive 3.x 建表指定分桶,但load data后失效的原因