stm32/gpio: Add support for set_speed for gpio v1

This commit is contained in:
Grant Miller 2022-05-08 14:41:59 -05:00
parent 49ae26f384
commit b230ac9c1a

View File

@ -511,10 +511,20 @@ pub(crate) mod sealed {
self.set_as_analog();
}
#[cfg(gpio_v2)]
#[cfg(any(gpio_v1, gpio_v2))]
#[inline]
unsafe fn set_speed(&self, speed: Speed) {
let pin = self._pin() as usize;
#[cfg(gpio_v1)]
{
let crlh = if pin < 8 { 0 } else { 1 };
self.block().cr(crlh).modify(|w| {
w.set_mode(pin % 8, speed.into());
});
}
#[cfg(gpio_v2)]
self.block()
.ospeedr()
.modify(|w| w.set_ospeedr(pin, speed.into()));