mirror of
https://github.com/mytechnotalent/Embedded-Hacking.git
synced 2026-08-25 20:32:35 +02:00
Updated Drivers
This commit is contained in:
@@ -46,26 +46,41 @@
|
||||
#define LED_PIN 25
|
||||
#define DEBOUNCE_MS 20
|
||||
|
||||
|
||||
/**
|
||||
* @brief Poll button state and report edge transitions over UART
|
||||
*
|
||||
* Reads the debounced button state, mirrors it to the LED, and prints
|
||||
* a message when the state changes from the previous reading.
|
||||
*
|
||||
* @param last_state Pointer to the stored previous button state
|
||||
*/
|
||||
static void _poll_button(bool *last_state) {
|
||||
bool pressed = button_is_pressed(BUTTON_PIN);
|
||||
button_led_set(LED_PIN, pressed);
|
||||
if (pressed != *last_state) {
|
||||
printf("Button: %s\r\n", pressed ? "PRESSED" : "RELEASED");
|
||||
*last_state = pressed;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Application entry point for the button debounce demo
|
||||
*
|
||||
* Initializes button and LED, then continuously polls button state
|
||||
* and mirrors it to the LED with UART reporting on edge transitions.
|
||||
*
|
||||
* @return int Does not return
|
||||
*/
|
||||
int main(void) {
|
||||
stdio_init_all();
|
||||
button_init(BUTTON_PIN, DEBOUNCE_MS);
|
||||
button_led_init(LED_PIN);
|
||||
|
||||
printf("Button driver initialized: button=GPIO%d led=GPIO%d\r\n",
|
||||
BUTTON_PIN, LED_PIN);
|
||||
|
||||
printf("Button driver initialized: button=GPIO%d led=GPIO%d\r\n", BUTTON_PIN, LED_PIN);
|
||||
bool last_state = false;
|
||||
|
||||
while (true) {
|
||||
bool pressed = button_is_pressed(BUTTON_PIN);
|
||||
|
||||
button_led_set(LED_PIN, pressed);
|
||||
|
||||
if (pressed != last_state) {
|
||||
printf("Button: %s\r\n", pressed ? "PRESSED" : "RELEASED");
|
||||
last_state = pressed;
|
||||
}
|
||||
|
||||
_poll_button(&last_state);
|
||||
sleep_ms(10);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user