2026-04-02 13:27:03 +03:00

53 lines
1.3 KiB
C

#include <stdio.h>
#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;
}