GPIO设计 GPIO设计 配置模式 通用输出 复用功能输出 输入 推挽(Push-Pull)开漏(Open-Drain)推挽(Push-Pull)开漏(Open-Drain)模拟输入浮空输入下拉输入上拉输入 CNF1CNF0MODE1 0 0 1 1 0 1 MODE0 PxODR寄存器 0或10或1不使用 不使用 0 0 1 1 0 00 不使用 不使用 0 1 ...
Ok(unsafe { (*$GPIOX::ptr()).odr.read().bits() & (1 << self.i) == 0 }) } }impl<MODE> toggleable::Default for $PXx<Output<MODE>> {}impl<MODE> InputPin for $PXx<Output<MODE>> { type Error = Infallible;fn is_high(&self) -> Result<bool, Self::Error> { ...
引脚。可以以推I/O(GPIOx_ODR)输出到相应的当作为输出配置时,写到输出数据寄存器上的值使用输出驱动器。被打开)当输出0时,只有N-MOS挽模式或开漏模式( I/O引脚上的数据。(GPIOx_IDR)在每个APB2时钟周期捕捉输入数据寄存器GPIO引脚有一个内部弱上拉和弱下拉,当配置为输入时,它们可以被激活也可以被断开。所有 ...
1,首先是配置其GPIO的功能 2,初始化GPIO 3,设置GPIO输出高低电平 输出高电平: GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 1 << GPIO_PIN); 输出低电平: GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 0); 按照上面那样子写就可以,不必深究, 因为最终也只不过是配置寄存器的某些位的数据而已. 4,假设设...
输入数据寄存器GPIOx_IDRI/O作为输出配置时,写到输出数据寄存器GPIOx_ODR的值输出到相应引脚。输出数据寄存器GPIOx_ODR 5.1.2单独的位设置或位清除当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是GPIOx_...
STM32用GPIO模拟IIC(I2C)通讯C语言源码 实测可用
置位/复位寄存器GPIOx_BSRR对GPIOx_ODR的位进⾏置位或清零操作 锁定寄存器GPIOx_LCKR)锁定端⼝引脚的位置,直到系统复位才能解除锁定 复⽤功能⾼位选择寄存器GPIOx_AFRH⽤于配置⾼位引脚8~15的复⽤功能 复⽤功能低位选择寄存器GPIOx_AFRL⽤于配置低位引脚0~7的复⽤功能 GPIO功能描述 GPIO...