volatile struct PORT_t * pin_physport_from_pin(enum pin_id pin) { switch (pin_port_from_pin(pin)) { case PIN_PORTA: return (&PORTA); case PIN_PORTB: return (&PORTB); case PIN_PORTC: return (&PORTC); case PIN_PORTD: return (&PORTD); default: return (NULL); } }
volatile struct GPIO_t * gpio_physgpio_from_pin(enum gpio_pin_id pin) { switch (pin_port_from_pin(pin)) { case PIN_PORTA: return (&GPIOA); case PIN_PORTB: return (&GPIOB); case PIN_PORTC: return (&GPIOC); case PIN_PORTD: return (&GPIOD); case PIN_PORTE: return (&GPIOE); default: return (NULL); } }