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

STM32学习历程(day2)

GPIO解释

GPIO(General-purpose input/output)

可以配置为八种输入输出模式 

引脚电平 0V-3.3V 部分引脚可容忍5v 

输出模式可控制端口输出高低电平 用以驱动LED、控制蜂鸣器、模拟通信协议输出时序

输入模式可读取端口的高低电平或电压,用于读取按键输入、外界模块电平信号输入、ADC电压采集、模拟通信协议接受数据

gpio都是挂载在APB2上的

GPIO主要包含了寄存器和驱动器及引脚

寄存器的每一位对应每一个引脚,输出寄存器写1,引脚为高电平 相反 输出寄存器为0 引脚为低电平。

输入寄存器和其一样 也能判断引脚高低电平。

STM32是32的单片机 所以STM32的寄存器都是32位的,所以只有低16位有对应的引脚

驱动器只是用来增加信号的驱动能力,寄存器用来存储数据,要进行点灯等操作 需要驱动器来负责增大驱动能力

GPIO位结构

GPIO模式

通过配置GPIO 的端口配置寄存器,端口可以配置成一下8种模式

GPIO8种模式
模式名称性质特征
浮空输入数字输入可以读取引脚电平 若引脚悬空,则电平不确定,只能输入,不能输出
上拉输入数字输入可以读取引脚电平 内部默认连接上拉电阻若引脚悬空,则输入高电平,只能输入,不能输出
下拉输入数字输入可以读取引脚电平 内部默认连接下拉电阻若引脚悬空,则输入低电平,只能输入,不能输出
模拟输入模拟输入GPIO无效,引脚直接接入内部ADC,也就是上图直接从引脚到模拟输入的电路
开漏输出数字输出可输出引脚电平 高电平为高阻态,低电平接VSS,高电平没有驱动能力
推挽输出数字输出可输出引脚电平 高电平为VDD,低电平接VSS
复用开漏输出数字输出可输出引脚电平 高电平为高阻态,低电平接VSS,高电平没有驱动能力
复用推挽输出数字输出可输出引脚电平 高电平为VDD,低电平接VSS

总结

今天晚上加班回来先是玩了两把铲铲 帮女友的号打上大师 然后洗漱后就已经十一点了 之后就学习了下GPIO,今天中午在公司小学了下 回来听的时候发现很多都不太理解 于是开始二刷 二刷+写博客 此举加深了我对GPIO的理解 疏通了GPIO的电路图 ,对三极管还是不太理解 需要课下再去学习下。最后 总结还是很有用的哈 输出文档 是让自己进步的一种方式!!!

相关文章:

  • clone()方法
  • 无人机人员搜救
  • 看看这组B端规范,你就会感叹:钱真是万能的。
  • 推荐 2个功能强大的黑科技工具,真的会让你直呼卧槽
  • 工厂自动化相关设备工业一体机起到什么作用?
  • C++ 彻底搞懂指针(终章)
  • 数据库的视图
  • 由俭入奢易,由奢入俭难
  • 双剑合璧:双阶段目标检测算法与单阶段的较量
  • 第11章 规划过程组(二)(11.8排列活动顺序)
  • 【Whisper】WhisperX: Time-Accurate Speech Transcription of Long-Form Audio
  • 如何在Windows上使用Docker搭建PHP开发环境
  • 秋招力扣刷题——从前序与中序遍历序列构造二叉树
  • 【报错解决】ValueError: Compression type zstd not supported
  • 【LeetCode】十三、分治法:多数元素 + 最大子序列和
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • android图片蒙层
  • express + mock 让前后台并行开发
  • java中的hashCode
  • JS基础之数据类型、对象、原型、原型链、继承
  • python docx文档转html页面
  • Spark RDD学习: aggregate函数
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 构造函数(constructor)与原型链(prototype)关系
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 蓝海存储开关机注意事项总结
  • 前端临床手札——文件上传
  • 嵌入式文件系统
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 自制字幕遮挡器
  • #微信小程序:微信小程序常见的配置传值
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (二)pulsar安装在独立的docker中,python测试
  • (分布式缓存)Redis分片集群
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)四层和七层负载均衡的区别
  • .NET C# 使用GDAL读取FileGDB要素类
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Core 项目指定SDK版本
  • .Net Core和.Net Standard直观理解
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET单元测试
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • @WebServiceClient注解,wsdlLocation 可配置
  • [20150707]外部表与rowid.txt
  • [2016.7 test.5] T1