//Nome:Estrela José Marcolino
#include <stdio.h>
#include "pico/stdlib.h"
#define UART0_TX_PIN 0 // GPIO 0
#define UART0_RX_PIN 1 // GPIO 1
#define UART1_TX_PIN 4 // GPIO 4
#define UART1_RX_PIN 5 // GPIO 5
int main() {
// Inicializa o sistema e os UARTs
stdio_init_all(); // Inicializa UART0 para o console
uart_init(uart1, 9600); // Inicializa UART1 com 9600 baud
// Configura os pinos da UART0
gpio_set_function(UART0_TX_PIN, GPIO_FUNC_UART);
gpio_set_function(UART0_RX_PIN, GPIO_FUNC_UART);
// Configura os pinos da UART1
gpio_set_function(UART1_TX_PIN, GPIO_FUNC_UART);
gpio_set_function(UART1_RX_PIN, GPIO_FUNC_UART);
printf("Sistema inicializado! Digite algo:\n");
char input[100];
while (true) {
// Lê dados do console usando scanf
scanf("%99s", input);
printf("Enviado para UART1: %s\n", input);
// Envia os dados para UART1
uart_puts(uart1, input);
// Lê os dados de volta da UART1
char received[100];
int i = 0;
while (uart_is_readable_within_us(uart1, 1000)) { // Aguarda até 1ms por dados
received[i++] = uart_getc(uart1);
}
received[i] = '\0'; // Finaliza a string recebida
// Envia os dados de volta para o console
printf("Recebido de UART1: %s\n", received);
}
return 0;
}