GPIO工作方式:
4种输入模式:
输入浮空:一般多用于外部按键输入,此状态下IO口的电平状态完全由外部输入决定,常用作KEY识别
输入上拉:将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用
输入下拉:将不确定的信号通过一个电阻嵌位在低电平,电阻同时起限流作用
模拟输入:输入为模拟量,用于ADC模拟输入或低功耗下省电
4种输出模式:
开漏输出:IO口为0输出强低电平,IO口为1时需要通过外部电阻拉高,输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行
适合做电流型驱动,吸收电流能力相对较强(20mA以内)
IO口状态由上拉电阻拉高电平,但可由外部电路改为低电平或不变,可以读IO口输入电平变化
推挽输出:可以输出强高低电平,连接数字器件
读输入值时未知
开漏复用:片内外设功能(TX1,MOSI,MISO,SCK,SS)
推挽复用:片内外设功能(I2C的SCL,SDA)
4种最大输出速度:2MHZ
配置寄存器:
7组IO口(GPIOA-GPIOG),每组有16个IO(GPIOA.0-GPIOA.15),每组IO口含有下边10个寄存器,控制16个IO口
端口模式寄存器(GPIOx_MODER):每IO口两位