IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32---GPIO口的简介 -> 正文阅读

[嵌入式]STM32---GPIO口的简介

  1. GPIO口是STM32芯片最基本的资源,IO口大都具有输入输出功能。而输出功能一般情况分为开漏输出和推挽输出模式。
  2. 哪什么是开漏输出和推挽输出呢?我从网上查了一些资料,简单总结了一下:
  • 开漏输出:只能输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极。要得到高电平状态需要上拉电阻才行,适合做电流型的驱动,其吸收电流的能力相对强(一般在20MA以内)
  • 推挽输出:可以输出强高低电平,连接数字器件
  • 推挽输出的最大特点是可以真正能真正的输出高电平和低电平,在两种电平下都具有驱动能力,绝大多数情况下推挽输出就够了 对于开漏输出和推挽输出的区别最普遍的说法就是开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完成对外驱动。?

? ? ?3. 在STM32中IO口有8种工作模式,分别为:

(1) 浮空输入? ?

(2)带上拉输入??

(3)带下拉输入?

(4) 模拟输入? ?

(5)开漏输出

(6)推挽输出

(7)复用功能的推挽输出

(8)复用功能的开漏输出

`typedef enum`
`{ GPIO_Mode_AIN = 0x0,//模拟输入`
  `GPIO_Mode_IN_FLOATING = 0x04,//浮空输入`
  `GPIO_Mode_IPD = 0x28,//下拉输入`
  `GPIO_Mode_IPU = 0x48,//上拉输入`
  `GPIO_Mode_Out_OD = 0x14,//开漏输出`
  `GPIO_Mode_Out_PP = 0x10,//推挽输出`
  `GPIO_Mode_AF_OD = 0x1C,//开漏复用输出`
  `GPIO_Mode_AF_PP = 0x18//推挽复用输出`
`}GPIOMode_TypeDef;`

?4.IO引脚速度:

//引脚的三种速度

GPIO_Speed_2MHz

GPIO_Speed_10MHz

GPIO_Speed_50MHz

又称输出驱动电路的响应速度:(芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路, 用户可以根据自己的需要选择合适的驱动电路,通过选择速度来选择不同的输出驱动模块,达到最佳的噪 声控制和降低功耗的目的。)可理解为: 输出驱动电路的带宽:即一个驱动电路可以不失真地通过信号的最 大频率。

5.IO口初始化

STM32 IO口与51系类的IO口不同,每当使用STM32 IO口时一定要初始化,否则无法使用。下面是初始化GPIOB5和GPIOE5的一般步骤,其他IO口的初始化大致是一样的。

GPIO_InitTypeDef GPIO_InitStruct;//定义GPIO结构体变量
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE);//使能B口,E口(其他口使能也是一样的)

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//设置IO模式为推挽输出模式,还可以初始化为其他模式
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_5;//设置5口(还可以设置为其他口0~15)
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;//设置IO口的速度为50MHz
GPIO_Init(GPIOB,&GPIO_InitStruct);//GPIOB`口初始化`

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:45:24  更:2021-08-15 15:46:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:23:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码