| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32F429入门(五):了解GPIO -> 正文阅读 |
|
[嵌入式]STM32F429入门(五):了解GPIO |
(一)GPIO--general purpose input output 是通用输入输出端口的简称,简单来说就是软件可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。型号为 STM32F4IGT6 型号的芯 片有 GPIOA、GPIOB、GPIOC 至 GPIOI 共 9 组 GPIO,芯片一共 176 个引脚,其中 GPIO 就占了一大部分,所有的 GPIO 引脚都有基本的输入输出功能。 问题一:GPIO与引脚有什么区别?
(二)GPIO功能详解 保护二极管及上、下拉电阻的作用如下: 引脚的两保护个二级管可以防止引脚外部过高或过低的电压输入,当引脚电压高于 VDD_FT时,上方的二极管导通,当引脚电压低于 VSS时,下方的二极管导通,防止不正常 电压引入芯片导致芯片烧毁。尽管有这样的保护,并不意味着 STM32 的引脚能直接外接大 功率驱动器件,如直接驱动电机,强制驱动要么电机不转,要么导致芯片烧坏,必须要加 大功率及隔离电路驱动。 上拉、下拉电阻,从它的结构我们可以看出,通过上、下拉对应的开关配置,我们可 以控制引脚默认状态的电压,开启上拉的时候引脚电压为高电平,开启下拉的时候引脚电 压为低电平,这样可以消除引脚不定状态的影响。如引脚外部没有外接器件,或者外部的 器件不干扰该引脚电压时,STM32 的引脚都会有这个默认状态。 也可以设置“既不上拉也不下拉模式”,我们也把这种状态称为浮空模式,配置成这 个模式时,直接用电压表测量其引脚电压为 1 点几伏,这是个不确定值。所以一般来说我 们都会选择给引脚设置“上拉模式”或“下拉模式”使它有默认状态。 STM32 的内部上拉是“弱上拉”,即通过此上拉输出的电流是很弱的,如要求大电流 还是需要外部上拉。 通过“上拉/下拉寄存器 GPIOx_PUPDR 控制引脚的上、下拉以及浮空模式。 其中: 00:无上拉或下拉 01:上拉 10:下拉 11:保留 ? ?推挽输出:输入是0输出也是0,输入1输出也是1,两个MOS管轮流工作。在该结构中输入 高电平时,上方的 P-MOS 导通,下方的 N-MOS 关闭,对外输出高电平;而在该结构中输 入低电平时,N-MOS 管导通,P-MOS 关闭,对外输出低电平。当引脚高低电平切换时, 两个管子轮流导通,一个负责灌电流,一个负责拉电流,使其负载能力和开关速度都比普 通的方式有很大的提高。推挽输出的低电平为 0 伏,高电平为 3.3 伏。 ?开漏输出:可以输出0和高阻态,如果想要使其输出高电平,则需加入上拉电路,所以此时它输出的高电平,完全取决于加入的VDD。而在开漏输出模式时,上方的 P-MOS 管完全不工作。如果我们控制输出为 0,低电平, 则 P-MOS 管关闭,N-MOS 管导通,使输出接地,若控制输出为 1 (它无法直接输出高电平) 时,则 P-MOS 管和 N-MOS 管都关闭,所以引脚既不输出高电平,也不输出低电平,为高阻态。为正常使用时必须接上拉电阻(可用 STM32 的内部上拉,但建议在 STM32 外部再接 一个上拉电阻),它具“线与”特性,也就是说,若有很多个开漏模式引脚连接到一起时,只有当所有引脚都输出高阻态,才由上拉电阻提供高电平,此高电平的电压为外部上拉电阻所接的电源的电压。若其中一个引脚为低电平,那线路就相当于短路接地,使得整条线路都为低电平,0 伏。 ?
(三)GPIO输出初始化顺序
? ?2.如果输出还要确定是推挽输出还是开漏输出(输出类型寄存器 :OTYPER) ? ? ?3.配置输出的速度(输出速度寄存器:OSPEEDR) ? ?4.输出的时候内部的上/下拉电阻要不要开启(上拉/下拉寄存器:PUPDR) ? ? ? 5.具体要输出的内容(置位复位寄存器:BSRR和数据输出寄存器:ODR) ? ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 0:56:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |