目录一、什么是GPIO口1、GPIO口的作用2、GPIO口的描述和数量3、GPIO口控制器二、如何配置GPIO口1、GPIO口控制器框图1.1 一个GPIO口可以配置几种模式①输入②通用输出③复用功能④模拟模式1.2 通用输出和通用输入的细节说明①通用输入部分a.怎么读b.如何保持电平状态c.读之前怎么配置②通用输出部分a.怎么输出b.输出之前怎么配置2、GPIO口寄存器描述2.1 如何看寄存器2.2 知道哪些模式具体使用那些寄存器配置①通用输入②通用输出③复用模式④模拟模式2.3 总结配置思路①输入:②输出:三、具体使用GPIO口1、关于LED灯的使用需求1:控制核心板的四个LED灯亮灭需求2:流水灯函数(计数思想切换灯)2、关于蜂鸣器的使用需求:控制蜂鸣器的开关3、关于按键的使用需求:四个按键控制四个LED4、关于传感器的使用4.1传感器分类:4.2检测电平信号类传感器的使用①火焰检测传感器②红外避障传感器总结:一、什么是GPIO口1、GPIO口的作用GPIO是单片机与外界进行信息交换的唯一窗口;2、GPIO口的描述和数量STM32F407VG(E)T6有100引脚,其中包括5组IO口5组:GPIOA,GPIOB,到E 每一组有0~15号(16个)//16*5==80GPIOA:0 1 2 3......15 16个 GPIOB:0 1 2 3......15 16个GPIOC:0 1 2 3......15 16个 GPIOD:0 1 2 3......15 16个GPIOE:0 1 2 3......15 16个 PA5表示:GPIOA组的5号IO口 3、GPIO口控制器GPIO控制器: 每组都有一个GPIO控制器控制16个IO口 二、如何配置GPIO口GPIO框图:1、GPIO口控制器框图1.1 一个GPIO口可以配置几种模式①输入直接读(检测)IO口的电平状态②通用输出 内核直接控制IO输出高低电平③复用功能a.复用输入:从IO进来的数据信号要经过片上外设(串口控制器),再到内核b.复用输出:内核将数据信号发送到片上外设,片上外设再通过IO口传送出去注:在M4中选用复用模式时没有严格的区分输入输出④模拟模式a.模拟输入:外界的模拟量(电压)通过IO口进入到ADC控制器,ADC控制器转换成数字量b.模拟输出: 内核将数字信号发送到DAC上,DAC将数字信号转换成电压值,通过IO出去1.2 通用输出和通用输入的细节说明①通用输入部分通用输入说明:a.怎么读①如何读取电平状态,通过读输入数据寄存器的对应位是0还是1,来确定IO高低电平②上下拉电阻作用 在通用输入的时候,也就是在读某个IO的电平的时候,一定要让此IO口先保持一个电平状态,这样才能检测到不同电平状态。b.如何保持电平状态①可以通过芯片内部的上下拉电阻,由于是弱上下拉一般不用②硬件外界一个上拉电阻或者下拉电阻c.读之前怎么配置打开GPIOx的时钟配置GPIOx的模式(输入模式 00输出模式 01 复用模式 10 模拟模式 11) ---端口模式寄存器配置GPIOx的上下拉(无上下拉-0上拉-01 下拉-10) ---端口上下拉寄存器读取GPIOx的数据---端口输入数据寄存器②通用输出部分通用输出说明:a.怎么输出①输出原则对输出数据寄存器的对应位写0 或 1,就可以控制对应编号的IO口输出低/高电平②输出类型推挽输出:IO口可以输出高电平,也可以输出低电平推挽电路的工作原理推挽电路结构:上管:P-MOS(源极接电源VDD)。下管:N-MOS(源极接地GND)。输出端:两管的漏极(D)相连,作为输出信号。输出高电平的控制逻辑:P-MOS栅极电压:被驱动电路拉低至 GNDN-MOS栅极电压:被驱动电路拉低至 GND输出低电平的控制逻辑:P-MOS栅极电压:被驱动电路拉高至 VDDN-MOS栅极电压:被驱动电路拉高至 VDD推挽电路的核心设计:在任何时刻,P-MOS和N-MOS中仅有一个导通,确保电源(VDD)到地(GND)之间无直通电流。输出高电平时:P-MOS导通(栅极GND),N-MOS关断(栅极GND)。输出低电平时:N-MOS导通(栅极VDD),P-MOS关断(栅极VDD)。开漏输出:IO口只能输出低电平所以:在输出的时候,要选择推挽或者开漏③关于场效应管(MOS管)的补充MOS管的导通条件 P-MOS(P沟道MOS管):栅极(G)电压 低于 源极(S)电压N-MOS(N沟道MOS管):栅极(G)电压 高于 源极(S)电压MOS管的关断条件 P-MOS(P沟道MOS管):栅极(G)电压 高于 源极(S)电压N-MOS(N沟道MOS管):栅极(G)电压 低于 源极(S)电压
STM32学习笔记---GPIO篇
目录一、什么是GPIO口1、GPIO口的作用2、GPIO口的描述和数量3、GPIO口控制器二、如何配置GPIO口1、GPIO口控制器框图1.1 一个GPIO口可以配置几种模式①输入②通用输出③复用功能④模拟模式1.2 通用输出和通用输入的细节说明①通用输入部分a.怎么读b.如何保持电平状态c.读之前怎么配置②通用输出部分a.怎么输出b.输出之前怎么配置2、GPIO口寄存器描述2.1 如何看寄存器2.2 知道哪些模式具体使用那些寄存器配置①通用输入②通用输出③复用模式④模拟模式2.3 总结配置思路①输入:②输出:三、具体使用GPIO口1、关于LED灯的使用需求1:控制核心板的四个LED灯亮灭需求2:流水灯函数(计数思想切换灯)2、关于蜂鸣器的使用需求:控制蜂鸣器的开关3、关于按键的使用需求:四个按键控制四个LED4、关于传感器的使用4.1传感器分类:4.2检测电平信号类传感器的使用①火焰检测传感器②红外避障传感器总结:一、什么是GPIO口1、GPIO口的作用GPIO是单片机与外界进行信息交换的唯一窗口;2、GPIO口的描述和数量STM32F407VG(E)T6有100引脚,其中包括5组IO口5组:GPIOA,GPIOB,到E 每一组有0~15号(16个)//16*5==80GPIOA:0 1 2 3......15 16个 GPIOB:0 1 2 3......15 16个GPIOC:0 1 2 3......15 16个 GPIOD:0 1 2 3......15 16个GPIOE:0 1 2 3......15 16个 PA5表示:GPIOA组的5号IO口 3、GPIO口控制器GPIO控制器: 每组都有一个GPIO控制器控制16个IO口 二、如何配置GPIO口GPIO框图:1、GPIO口控制器框图1.1 一个GPIO口可以配置几种模式①输入直接读(检测)IO口的电平状态②通用输出 内核直接控制IO输出高低电平③复用功能a.复用输入:从IO进来的数据信号要经过片上外设(串口控制器),再到内核b.复用输出:内核将数据信号发送到片上外设,片上外设再通过IO口传送出去注:在M4中选用复用模式时没有严格的区分输入输出④模拟模式a.模拟输入:外界的模拟量(电压)通过IO口进入到ADC控制器,ADC控制器转换成数字量b.模拟输出: 内核将数字信号发送到DAC上,DAC将数字信号转换成电压值,通过IO出去1.2 通用输出和通用输入的细节说明①通用输入部分通用输入说明:a.怎么读①如何读取电平状态,通过读输入数据寄存器的对应位是0还是1,来确定IO高低电平②上下拉电阻作用 在通用输入的时候,也就是在读某个IO的电平的时候,一定要让此IO口先保持一个电平状态,这样才能检测到不同电平状态。b.如何保持电平状态①可以通过芯片内部的上下拉电阻,由于是弱上下拉一般不用②硬件外界一个上拉电阻或者下拉电阻c.读之前怎么配置打开GPIOx的时钟配置GPIOx的模式(输入模式 00输出模式 01 复用模式 10 模拟模式 11) ---端口模式寄存器配置GPIOx的上下拉(无上下拉-0上拉-01 下拉-10) ---端口上下拉寄存器读取GPIOx的数据---端口输入数据寄存器②通用输出部分通用输出说明:a.怎么输出①输出原则对输出数据寄存器的对应位写0 或 1,就可以控制对应编号的IO口输出低/高电平②输出类型推挽输出:IO口可以输出高电平,也可以输出低电平推挽电路的工作原理推挽电路结构:上管:P-MOS(源极接电源VDD)。下管:N-MOS(源极接地GND)。输出端:两管的漏极(D)相连,作为输出信号。输出高电平的控制逻辑:P-MOS栅极电压:被驱动电路拉低至 GNDN-MOS栅极电压:被驱动电路拉低至 GND输出低电平的控制逻辑:P-MOS栅极电压:被驱动电路拉高至 VDDN-MOS栅极电压:被驱动电路拉高至 VDD推挽电路的核心设计:在任何时刻,P-MOS和N-MOS中仅有一个导通,确保电源(VDD)到地(GND)之间无直通电流。输出高电平时:P-MOS导通(栅极GND),N-MOS关断(栅极GND)。输出低电平时:N-MOS导通(栅极VDD),P-MOS关断(栅极VDD)。开漏输出:IO口只能输出低电平所以:在输出的时候,要选择推挽或者开漏③关于场效应管(MOS管)的补充MOS管的导通条件 P-MOS(P沟道MOS管):栅极(G)电压 低于 源极(S)电压N-MOS(N沟道MOS管):栅极(G)电压 高于 源极(S)电压MOS管的关断条件 P-MOS(P沟道MOS管):栅极(G)电压 高于 源极(S)电压N-MOS(N沟道MOS管):栅极(G)电压 低于 源极(S)电压