53 lines
1.3 KiB
C
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;
|
|
}
|