STM32 随记

GPIO:


施密特触发器:设置上下限,超过限度才会输出高低电平,保证输入电位
模拟输入:外接ADC转换器,装在施密特触发器前
复用功能输入:外设复用该电位信号,装在施密特触发器后
MOS管:通过输出0/1控制输出电平(包括模式控制)
位设置:修改输出寄存器的单个位
保护二极管:控制输入电压
俩上拉和下拉分别控制输入模式
复用功能输出:通过片上外设使用输出模式

浮空输入:需要外接持续的波形电源,不然很容易守外界干扰产生电位波动
上拉输入:浮空默认高电平(可读取输入数据)
下拉输入:浮空默认低电平(可读取输入数据)
模拟输入:如图
(注意可以复用输入)
推挽输出:输出确定的高低电平(推挽模式初始电平为0)
开漏输出:输出确定的低电平,高电平可通过IO口自由配置(适用于多设备使用)
复用开漏输出:如图
复用推挽输出:如图
注意:1.在输入模式下,输出整个断开,但是在输出模式下,输入模式也是可用的(在输出模式下也可以读取输出的数据,但是输入模式下无法读取)
            2.除了模拟模式,其他模式下输入模式均有效

关于GPIO基本流程:
1.启动APB2时钟使能(RCC)(STM32的GPIO总线)
2.配置对应端口模式(8种) 
3.使用GPIO库函数进行输入输出

1.GPIO_DeInit(端口)复位
2.GPIO_AFIODeInit()复用复位
3.GPIO_Init(端口,端口配置地址)非常重要,初始化端口
4.GPIO_StructInit(端口配置结构体)初始化结构体
5.GPIO_ReadInputDataBite(端口,具体端口位)读入输入位电平
6.GPIO_ReadInputData(端口)读入输入端口电平
7.GPIO_ReadOutputDataBit(端口,具体端口位)读入输出位电平
8.GPIO_ReadOutputData(端口)读入输出电平
9.GPIO_SetBits(端口,具体端口位)设置位高电平
10.GPIO_ResetBits(端口,具体端口位)设置位低电平
11.GPIO_WriteBits(端口,端口位,高/低电平(Bit_SET=1,Bit_RESET=0))(整合9和10)
12GPIO_WriteBit(端口,端口输出值)调整真个端口的电平
(注意:LED标准是下接方式,即出0亮,可以更好地控制电路,按键标准是上接方式(或者上拉接法),按下按键该电位会由1变为0)

传感器基本模块:

P1为电路比较器,其中IN-接到P2的可调电阻指针,便于修改阈值,IN+接到P3的AO口
其中P3的N1为对应的传感器,可随环境变化阻值导致AO口电压变化
P3中的电容与P1中的电容均为滤波电容
P4为芯片电源显示灯
P5为电路比较器输出值显示灯,0亮,1灭(看具体电路)
P5中DO口为数字输出,AO口为模拟输出,整个芯片4个引脚为(DO,AO,GND,VCC)

OLED调试模块:

                                               P1.I2C通信协议                                                                                                                          P2.SPI通信协议
I2C有俩种实现方式:1.硬件自配SCL口和SDA口(高精度,高速度,但是接口不灵活)
                                    2.GPIO口模拟I2C通信协议(低精度,低速度,但是接口灵活)
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务