GPIO:
1,GPIO模式
1.1 (复用)推挽输出:略
推挽输出内部是PMOS,和NMOS组成的电路,这个电路使负载能力和开关速度都有很大的提高,鉴于单片机只是用来控制,输出的是信号量,它仍然不能直接接大功率器件,
1.2 (复用)开漏输出:略
开漏输出具有线与功能,当NMOS不导通(没有接地)的时候,引脚输出高阻态。当多个引脚开漏模式且输出高阻态,此时引脚的电平完全由外部上拉电阻控制
总结:推挽输出常见于开关快速切换的场合,开漏输出常用于I2C,SMBUS通讯等需要线与功能的总线电路中(当你的单片机想要输出5V时也可以用开漏)
GPIO_Mode_Speed 即IO口支持切换高低电平的频率 不考虑功耗无脑最大
1.3 模拟输入:常见于ADC采集
1.4 浮空输入:浮空输入的点平是不确定的,全部取决与外部的输入,常用于按键检测
1.5 上拉输入:略
1.6 下拉输入:略
2,GPIO寄存器
2.1,输出数据寄存器GPIOx_ODR //选择IO口
2.2,输入数据寄存器GPIOx_IDR //选择IO口
2.3,置位复位寄存器GPIOx_BSRR
2.4,配置寄存器GPIOx_CRL GPIOx_CRH