#include "gpio.h"
#include <util/delay.h>
int main(void) {
const hal_gpio_st led_builtin {
.port = 'B',
.pin = 4,
.negated = false,
.mode = HAL_GPIO_MODE_OUTPUT,
.pull = HAL_GPIO_PULL_NONE,
.driver = HAL_GPIO_DRIVER_OPEN_DRAIN,
};
const hal_gpio_st button {
.port = 'D',
.pin = 3,
.negated = true,
.mode = HAL_GPIO_MODE_INPUT,
.pull = HAL_GPIO_PULL_UP,
};
hal_gpio_begin(&button);
hal_gpio_begin(&led_builtin);
hal_gpio_write(&led_builtin, HAL_GPIO_STATE_HIGH);
for(;;){
if (hal_gpio_read(&button) == HAL_GPIO_STATE_HIGH){
hal_gpio_toggle(&led_builtin);
_delay_ms(500);
} else {
hal_gpio_write(&led_builtin, HAL_GPIO_STATE_LOW);
}
}
}