GPIOA->BSRR=1<<9 就是PA9输出高 BSRR是端口位设置/清除寄存器,低16位控制端口位0~15输出高,写1有效;高16位控制端口位0~15输出低,也是写1有效,也是让PA9输出高 这种方式实质也是位带操作 把GPIOA寄存器BSRR的第9位置1
unsafe { (*$GPIOX::ptr()).bsrr.write(|w| w.bits(1 << (self.i + 16))) }; Ok(()) } }impl<MODE> StatefulOutputPin for $PXx<Output<MODE>> { fn is_set_high(&self) -> Result<bool, Self::Error> { self.is_set_low().map(|v| !v) ...