GPIO对应的寄存器个数为7个,包括2 个 32位端口配置寄存器(CRL 和 CRH)、2 个 32 位端口数据寄存器(IDR 和 ODR)、1 个 32 位端口置位/复位寄存器(BSRR)、1 个 16 位端口复位寄存器(BRR)、1 个 32 位端口锁定寄存器 (LCKR)。下面将一一介绍。3.1 2 个 32位端口配置寄存器(CRL 和 CRH)作用:用来配置...
3.GPIO寄存器 GPIO对应的寄存器个数为7个,包括2 个 32位端口配置寄存器(CRL 和 CRH)、2 个 32 位端口数据寄存器(IDR 和 ODR)、1 个 32 位端口置位/复位寄存器(BSRR)、1 个 16 位端口复位寄存器(BRR)、1 个 32 位端口锁定寄存器 (LCKR)。下面将一一介绍。
STM32的GPIO引脚功能中,IDR(Input Data Register)和ODR(Output Data Register)分别扮演着关键角色。IDR允许我们查看特定GPIO引脚的当前电平状态,它就像一个读取器,告诉我们引脚是否处于高电平或低电平。而ODR则是用来设置或控制GPIO引脚的输出状态,它是执行实际输出操作的控制器。在你的代码示例中,GP...
电源为5V,把GPIO设置为开漏模式,当输出高阻态时,由上拉电阻和电源向外输出5V电平。 ④对于相应的复用模式,复用输出来源片上外设,则是根据GPIO的复用功能来选择,如GPIO的引脚用作串口的输出(USART/SPI/CAN),则使用复用推挽输出模式。如果用在I2C、SMBUS这些需要线与功能的复用场合,就使用复用开漏模式。 ⑤在使用...
GPIOx_IDR:输入数据寄存器,读取端口引脚的电平状态。GPIOx_ODR:输出数据寄存器,设置端口引脚的电平状态。(3)一个32位置位/复位寄存器:GPIOx_BSRR 用于设置或复位端口引脚的电平。(4)一个16位复位寄存器:GPIOx_BRR 用于复位端口引脚的电平。(5)一个32位锁定寄存器:GPIOx_LCKR 锁定寄存器,用于锁定GPIO...
在推挽输出时,施密特触发器是打开的,即输入可用,通过输入数据寄存器GPIOx_IDR可读取I/O的实际状态。 3. 复用推挽输出模式 GPIO复用为其他外设(IIC的SCL,SDA)。除了输出信号的来源改变 ,其他操作与推挽输出的功能相同。 4. 复用开漏输出模式 ...
输入数据寄存器是由IO口经过上下拉电阻、TTL施密特触发器引入。当信号经过TTL施密特触发器,模拟信号将变为数字信号0 或1,然后存储在输入数据寄存器中,通过读取“输入数据寄存器GPIOx_IDR” 就可以知道IO 口的电平状态。 施密特触发器:简单来说,就是当输入电压高于正向阈值电压,输出为高;当输入电压低于负向阈值电压,输...
1,GPIO输入工作模式1-输入浮空模式 xa0xa0 xa0 1)外部通过IO口输入电平,外部电平通过上下拉部分(浮空模式下都关闭,既无上拉也无下拉电阻) 2)传输到施密特触发器(此时施密特触发器为打开状态) 3)继续传输到输入数据寄存器IDR 4)CPU通过读输入数据寄存器IDR实现读取外部输入电平值 在输入浮空模式下可以读取外部输入...
其中每一个IO口都是由7个寄存器来控制(CRH、CRL、IDR、ODR、BRR、BSRR、LCKR)[1]。 图3.1GPIO寄存器简介 图3.2 GPIO端口配置低位寄存器表 通过软件来设置相应的端口时,就需要参考GPIO配置寄存器表,如在输入模式(MODE[1:0]=00), 输出模式(MODE[1:0]>00),输入输出确定后在CNF[1:0]中确定输出输入的模式(8...