#include #include #include "pico/stdlib.h" #include "hardware/uart.h" #define UART_ID uart0 #define DATA_BITS 8 #define STOP_BITS 1 #define PARITY UART_PARITY_NONE #define UART_TX_PIN 16 #define UART_RX_PIN 17 #define PINA 6 #define PINB 7 #define PINC 8 #define PIND 9 int main() { uart_init(UART_ID, 9600); gpio_set_function(UART_TX_PIN, GPIO_FUNC_UART); gpio_set_function(UART_RX_PIN, GPIO_FUNC_UART); uart_set_hw_flow(UART_ID, false, false); uart_set_format(UART_ID, DATA_BITS, STOP_BITS, PARITY); gpio_init(PINA); gpio_init(PINB); gpio_init(PINC); gpio_init(PIND); gpio_set_dir(PINA, GPIO_OUT); gpio_set_dir(PINB, GPIO_OUT); gpio_set_dir(PINC, GPIO_OUT); gpio_set_dir(PIND, GPIO_OUT); gpio_put(PINA, 1); gpio_put(PINB, 1); gpio_put(PINC, 1); gpio_put(PIND, 1); char last_char; while (true) { last_char = uart_getc(UART_ID); switch (last_char) { case 'a' : gpio_put(PINA, 1); break; case 'b' : gpio_put(PINB, 1); break; case 'c' : gpio_put(PINC, 1); break; case 'd' : gpio_put(PIND, 1); break; case 'A' : gpio_put(PINA, 0); break; case 'B' : gpio_put(PINB, 0); break; case 'C' : gpio_put(PINC, 0); break; case 'D' : gpio_put(PIND, 0); break; case 't' : uart_puts(UART_ID, "Not implemented yet \n"); break; default : break; } } }