~ruther/stm32h747i-disco-usb-image-viewer

1062cf20abb9edb1d7e2c2c0ce9b4cb23977a31b — Rutherther 5 months ago d326667
fix: into_alternate choose alternate mode
1 files changed, 4 insertions(+), 0 deletions(-)

M src/pin.c
M src/pin.c => src/pin.c +4 -0
@@ 67,6 67,10 @@ void pin_into_input_highspeed(pin_t *pin) {

void pin_into_alternate(pin_t *pin, uint8_t alternate) {
  pin_mode(pin, ALTERNATE);
  uint8_t index = pin->pin >> 3;
  uint8_t pos = (pin->pin & 0x7) * 4;
  volatile uint32_t *afr = pin->gpio->AFR;
  reg_set_bits_pos(afr + index, alternate, pos, 0xF);
}
void pin_into_alternate_highspeed(pin_t *pin, uint8_t alternate) {
  pin_into_alternate(pin, alternate);

Do not follow this link