#include #include "pico/stdlib.h" #include "pico/bootrom.h" #ifndef PICO_DEFAULT_LED_PIN #endif #define PICO_GPIO_SEND_BUTTON_PIN_1 18 #define PICO_GPIO_SEND_BUTTON_PIN_2 19 #define PICO_GPIO_WATCH_BUTTON_PIN_1 20 #define PICO_GPIO_WATCH_BUTTON_PIN_2 21 void init_button(){ gpio_init(PICO_GPIO_SEND_BUTTON_PIN_1); gpio_init(PICO_GPIO_SEND_BUTTON_PIN_2); gpio_init(PICO_GPIO_WATCH_BUTTON_PIN_1); gpio_init(PICO_GPIO_WATCH_BUTTON_PIN_2); gpio_set_dir(PICO_GPIO_SEND_BUTTON_PIN_1, GPIO_OUT); gpio_set_dir(PICO_GPIO_SEND_BUTTON_PIN_2, GPIO_OUT); gpio_set_dir(PICO_GPIO_WATCH_BUTTON_PIN_1, GPIO_IN); gpio_set_dir(PICO_GPIO_WATCH_BUTTON_PIN_2, GPIO_IN); } int main() { stdio_init_all(); char input_buffer [1024]; gpio_init(PICO_DEFAULT_LED_PIN); gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT); gpio_put(PICO_DEFAULT_LED_PIN, false); init_button(); gpio_pull_up(PICO_GPIO_SEND_BUTTON_PIN_1); while(1){ if(gpio_get(PICO_GPIO_SEND_BUTTON_PIN_1) == 1) printf("gpio 18 is up\n"); else printf("gpio 18 is down\n"); scanf("%1024s", input_buffer); printf("%s\n", input_buffer); if (strcmp(input_buffer, "reboot") == 0){ gpio_put(PICO_DEFAULT_LED_PIN, true); reset_usb_boot(0,0); } sleep_ms(500); } return 0; }