标签:操作 特点 简介 general for alt loading 多个 知识点
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255
本章教程为大家讲解GPIO(General-purpose I/Os)基础知识。GPIO配置是所有外设驱动的基础,大家务必要熟练掌握。
15.1 初学者重要提示
15.2 GPIO功能简介
15.3 GPIO功能模式分析(重要)
15.4 GPIO的拉电流负载和灌电流负载能力
15.5 IO补偿单元,用于高速
15.6 GPIO兼容CMOS和TTL电平
15.7 不使用的引脚推荐设为模拟模式
15.8 总结
STM32F429的GPIO特性如下:
STM32F4的GPIO端口可以配置为如下的8种模式:
由于上拉和下拉是可选配置,对应的HAL库配置使用下面6种就可以表示:
推挽电路是两个参数相同的三极管或 MOSFET,以推挽方式存在于电路中。 电路工作时,两只对称的开关管每次只有一个导通,导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级提高电路的负载能力。 相对于开漏输出模式,推挽输出最大优势是输出高电平时,上升时间快,电压驱动能力强。
开漏端相当于 MOS 管的漏极(三极管的集电极),要得到高电平状态必须外接上拉电阻才行,因此输出高电平的驱动能力完全由外接上拉电阻决定,但是其输出低电平的驱动能力很强。开漏形式的电路有以下几个特点:
复用指的是GPIO切换到CPU内部设备(比如SPI,I2C,UART等电路),也就是GPIO不是作为普通IO使用,是由内部设备直接驱动。推挽和开漏的特征同上。
通过上面的引脚结构图可以得到如下三种方式
而模拟输入模式是GPIO引脚连接内部ADC。
这里先普及点小知识,什么是拉电流负载,什么是灌电流负载。
有了上面这些知识后再来看STM32F429的IO驱动能力(截图来自STM32F429数据手册):
通过上面的截图可知:STM32F429总的拉电流和灌电流不可超过120mA,单个引脚最大不可超过25mA,这个知识点,大家要知道。
IO补偿单元用于控制I/O通信压摆率(tfall / trise)以此来降低I/O噪声。当前STM32F4的速度等级可以配置为以下四种:
/** @defgroup GPIO_speed_define GPIO speed define * @brief GPIO Output Maximum frequency * @{ */ #define GPIO_SPEED_FREQ_LOW ((uint32_t)0x00000000U) /*!< Low speed */ #define GPIO_SPEED_FREQ_MEDIUM ((uint32_t)0x00000001U) /*!< Medium speed */ #define GPIO_SPEED_FREQ_HIGH ((uint32_t)0x00000002U) /*!< Fast speed */ #define GPIO_SPEED_FREQ_VERY_HIGH ((uint32_t)0x00000003U) /*!< High speed */
不同的速度等级支持的最大时钟速度可以看此贴:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94429 。
CMOS和TTL电平兼容问题也是一个比较重要的知识点,关于这方面的知识已经在论坛进行了总结(由于截图较多,较长,就不整理到教程里面了):http://www.armbbs.cn/forum.php?mod=viewthread&tid=87676 。
主要从功耗和防干扰考虑。
综上考虑,不使用的引脚设置为模拟模式,悬空即可。
本章节就为大家讲解这么多,其中GPIO功能模式小节(本章15.3)最重要,大家务必要掌握。
【STM32F407开发板用户手册】第15章 STM32F429的GPIO基础知识(重要)
标签:操作 特点 简介 general for alt loading 多个 知识点
原文地址:https://www.cnblogs.com/armfly/p/13283393.html