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

STM32 GPIO(8 种模式,端口 配置 寄存器)

STM32 的 IO 口相比 51 而言要复杂得多,所以使用起来也困难很多。STM32 的 IO口可以由软件配置成如下 8 种模式:

序号模式常用举例
1上拉输入
(IPU:Input pull-up)
按键
2下拉输入
(IPD:Input-pull-down)
按键
3模拟输入
(AIN:Analog Input)
ADC、DAC
4浮空输入
(IN_FLOATING:Input floating)
1、外部已有明确上/下拉电路时(如I2C总线靠外部电阻上拉)
2、高速信号输入(如UART RX、SPI MISO)
5推挽输出
(Out_PP:Output push-pull)
1、数字信号输出(如 控制LED、继电器)
2、高速信号(如UART TX、SPI MOSI)
3、高低电平明确切换的场景(如PWM输出)
6开漏输出
(Out_OD:Output open-drain)
1、电平兼容(如 3.3V与5V器件通信)
2、总线协议(如I2C、单线总线)
3、多设备共享信号线(“线与”逻辑)
7复用推挽功能
(AF_PP:Alternate Function push-pull)
1、外设需要强驱动能力时(如USART TX、SPI SCK)
2、定时器PWM输出驱动电机、LED
3、高速信号(如SDIO、FSMC)
8复用开漏功能
(AF_OD:Alternate Function open-drain)
1、支持总线协议的外设(如I2C SDA/SCL)
2、多主机通信(如CAN总线)
3、需要电平转换的复用信号

每个 IO 口可以自由编程,但 IO 口寄存器必须要按 32 位字 被访问。STM32 的很多 IO 口都是5V 兼容的,这些 IO 口在与 5V 电平的外设连接的时候很有优势(I/O Level 标 FT 的就是 5V 电平兼容的)。

STM32 的每个 IO 端口都有 7 个寄存器来控制。他们分别是:
配置模式的 2 个 32 位的端口 配置寄存器 CRL 和 CRH;
2 个 32 位的 数据寄存器 IDR 和 ODR;
1 个 32 位的 置位/复位寄存器 BSRR;
1个 16 位的 复位寄存器 BRR;
1 个 32 位的 锁存寄存器 LCKR。
要了解每个寄存器的详细使用方法,参考《STM32 中文参考手册 V10》P105~P129。

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

相关文章:

  • KX123加速度计嵌入式C++驱动设计与I²C HAL实现
  • ANSYS模态分析后,如何用MATLAB把导出的HB格式刚度矩阵变回普通矩阵?
  • 企业级AI入侵检测系统落地避坑指南:从数据采集到模型部署的7个关键决策点
  • 如何用novideo_srgb解决显示器色彩偏差问题?免费开源工具让你的屏幕显示更准确
  • LLamaSharp快速入门:5分钟搭建本地AI聊天机器人
  • python+flask+vue3框架的仓储管理系统 仓库进销存管理系统
  • 2026年靠谱的烘干机公司推荐:河沙烘干机品牌厂家推荐 - 品牌宣传支持者
  • STM32时钟树
  • Wan2.2-T2V-A5B与数据库集成:使用MySQL管理海量生成任务与元数据
  • Go命令行交互神器:promptui与其他提示库的终极对比指南
  • RK3568开发板双以太网配置实战:从设备树到Android11的完整指南
  • dvcs-ripper进阶指南:如何利用Perl脚本高效挖掘Git/SVN仓库泄露
  • 2026年知名的传动轴公司推荐:双节传动轴/农机传动轴/工程机械传动轴优质供应商推荐 - 品牌宣传支持者
  • 如何快速设置OBS:10分钟完成你的第一次直播
  • 密码学与区块链:gh_mirrors/rea/reading中的安全技术深度解析指南
  • Pixel Dimension Fissioner 快速入门:10分钟完成星图GPU平台一键部署
  • SwipeCellKit高级委托模式:实现复杂滑动交互的终极指南
  • C++多线程---互斥量
  • Ubuntu 18.04.6 Live Server 部署实战:从零构建高效服务器环境
  • 串行与并行通信的本质差异及工程选型指南
  • Python实战:用tkinterweb打造本地词典查询工具(附MDX文件解析)
  • 避坑指南:uniapp中使用pdf.js预览PDF的6个常见问题及解决方案
  • Ion自定义头设置终极指南:API认证与请求标识的完整解决方案
  • 5步解决QQ空间数据备份难题:完整导出指南
  • 云容笔谈·东方红颜影像生成系统Node.js后端集成教程:构建高并发AI绘画API服务
  • 美胸-年美-造相Z-Turbo从入门到精通:一站式掌握部署、生成与优化技巧
  • Win11Debloat系统优化解决方案:从卡顿修复到隐私防护的实战指南
  • Open UI5 源代码解析之696:Carousel.js
  • LoRA训练助手网络安全实践:防止模型泄露与数据污染的防御方案
  • Nomic-Embed-Text-V2-MoE与Transformer架构解析:从原理到部署