Question.3
A GPIO HAL abstracts away platform-specific register access:
// Application code (portable)
void blink(IGPIO& led) {
led.write(HIGH);
delay(500);
led.write(LOW);
delay(500);
}On STM32, write accesses BSRR registers. On AVR, it accesses PORTB. On Linux, it writes to /sys/class/gpio. The application code is: