stm32的GPIO学习笔记(6页).doc





《stm32的GPIO学习笔记(6页).doc》由会员分享,可在线阅读,更多相关《stm32的GPIO学习笔记(6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-stm32的GPIO学习笔记-第 6 页I/O口工作模式:1.高阻输入 输入模式的结构比较简单,就是一个带有施密特触发输入(Schmitt-triggered input)的三态缓冲器(U1),并具有很高的阻抗。施密特触发输入的作用是能将缓慢变化的或者是畸变的输入脉冲信号整形成比较理想的矩形脉冲信号。 执行 GPIO管脚读操作时,在读脉冲(Read Pulse)的作用下会把管脚(Pin)的当前电平状态读到内部总线上(Internal Bus)。2.推挽输出 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次
2、只有一个导通,所以导通损耗小、效率高. 在推挽输出模式下,GPIO还具有回读功能,实现回读功能的是一个简单的三态门 U2。注意:执行回读功能时,读到的是管脚的输出锁存状态,而不是外部管脚 Pin的状态。3.开漏输出 开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平,比如加上上拉电阻就可以提供TTL/CMOS电平输出等。 开漏输出和推挽输出相比结构基本相同,但只有下拉晶体管 T1而没有上拉晶体管。同样,T1实际上也是多组可编程选择的晶体管。
3、开漏输出的实际作用就是一个开关,输出“1”时断开、输出“0”时连接到 GND(有一定内阻) 开漏输出和推挽输出相比结构基本相同,但只有下拉晶体管 T1而没有上拉晶体管。同样,T1实际上也是多组可编程选择的晶体管。开漏输出的实际作用就是一个开关,输出“1”时断开、输出“0”时连接到 GND(有一定内阻).4.钳位二级管其作用是防止从外部管脚 Pin输入的电压过高或者过低。提高输出电压一种简单的做法:是先在 GPIO管脚上串联一只二极管(如 1N4148),然后再接上拉电阻。STM32的GPIO管脚深入分析:概述:STM23的每个GPIO引脚都可以由软件配置成输出(推挽或开漏),输入(带或不带上拉
4、或下拉)或复用的外设功能端口。多数GPIO引脚与数字或模拟的复用外设共用;除了具有模拟输入(ADC)功能的管脚之外,其他的GPIO引脚都有大电流通过能力。tip: 每个IO口可以自由编程,单IO口寄存器必须要按32位bit被访问。 STM32的每个IO端口都有7个寄存器来控制一.具体如下8种模式:1)输入浮空(这个输入模式,输入电平必须由外部电路确定,要根据具体电路,加外部上拉电阻或下拉电阻,可以做按键识别)2)输入上拉(打开IO内部上拉电阻)3)输入下拉(打开IO内部下拉电阻)4)模拟输入(应用ADC模拟输入)5)开漏输出(输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适
5、合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).能驱动大电流和大电压,LED就使用这种模式。)6)推挽式输出(可以输出高,低电平,连接数字器件。推挽式输出输出电阻小,带负载能力强)7)推挽式复用功能(复用是指该引脚打开remap功能)8)开漏复用功能(复用是指该引脚打开remap功能)tip:上拉输入模式:区别在于没有输入信号的时候默认输入高电平(因为有弱上拉)。下拉输入模式:区别在于没有输入信号的时候默认输入低电平(因为有弱下拉)。( 上拉就是使IO口接上拉电阻到VCC了,跟51一样,下拉就是使IO口接下拉电阻到GND了, 浮空就是即不接上拉,也不接下拉,这样的话IO默认输入
6、电平不确定 )浮空输入模式:顾名思义也就是输入什么信号才是什么信号,对于浮空输入要保证有明确的输入信号。库函数:GPIO_Mode_AIN 模拟输入GPIO_Mode_IN_FLOATING 浮空输入 GPIO_Mode_IPD 下拉输入 GPIO_Mode_IPU 上拉输入 GPIO_Mode_Out_OD 开漏输出 GPIO_Mode_Out_PP 推挽输出 GPIO_Mode_AF_OD 复用开漏输出 GPIO_Mode_AF_PP 复用推挽输出二.TM32的每个IO端口都有7个寄存器来控制,具体七个寄存器如下:CRL 端口配置低寄存器 CRH 端口配置高寄存器IDR 端口输入数据寄存器
7、ODR 端口输出数据寄存器BSRR 端口位设置/复位寄存器BRR 端口位复位寄存器LCKR 端口配置锁定寄存器EVCR 事件控制寄存器MAPR 复用重映射和调试I/O配置寄存器EXTICR 外部中断线路0-15配置寄存器tip:CRL(端口配置低寄存器):复位值为0X4444 4444(4化成二进制为0100),从上图可以看到,复位值其实就是配置端口为浮空输入模式得出:STM32的CRL控制着每个IO端口(AG)的低8位的模式。每个IO端口的位占用CRL的4个位,高两位为CNF,低两位为MODE。 CRL控制的是低8位输出口,而CRH控制的是高8位输出口在输入模式(MODE1:0=00):00
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- stm32 GPIO 学习 笔记

限制150内