/*
* LAB Name: Raspberry Pi Pico W C/C++ SDK (Project Template)
* Author: Khaled Magdy
* For More Info Visit: www.DeepBlueMbedded.com
*/
/*#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
#define BUILTIN_LED CYW43_WL_GPIO_LED_PIN
int main() {
stdio_init_all();
if (cyw43_arch_init()) {
return -1;
}
while (1) {
cyw43_arch_gpio_put(BUILTIN_LED, 1);
sleep_ms(100);
cyw43_arch_gpio_put(BUILTIN_LED, 0);
sleep_ms(100);
}
}*/
#include "pico/stdlib.h"
#include "hardware/uart.h"
#include <stdio.h>
// UARTs que serão utilizadas
#define UART0_ID uart0
#define UART1_ID uart1
// Pinos TX e RX para cada UART
#define UART0_TX_PIN 0
#define UART0_RX_PIN 1
#define UART1_TX_PIN 4
#define UART1_RX_PIN 5
int main() {
// Inicializar a comunicação serial (para printf e scanf)
stdio_init_all();
// Configurar UART0
uart_init(UART0_ID, 115200); // Baud rate: 115200
gpio_set_function(UART0_TX_PIN, GPIO_FUNC_UART);
gpio_set_function(UART0_RX_PIN, GPIO_FUNC_UART);
// Configurar UART1
uart_init(UART1_ID, 115200); // Baud rate: 115200
gpio_set_function(UART1_TX_PIN, GPIO_FUNC_UART);
gpio_set_function(UART1_RX_PIN, GPIO_FUNC_UART);
char var=0;
char received_char = 0;
//printf("Digite um caractere: \n");
while (1) {
//printf("%c %d", var, var); // Imprime o valor atual de var (inicializado com 0)
scanf(" %c", &var); // Ler um caractere do console usando scanf
//printf("%c %d", var, var);
// Enviar o caractere pela UART0
uart_putc_raw(UART0_ID, var);
//printf("%c", var);
// Aguardar a recepção do caractere pela UART1
received_char = uart_getc(UART1_ID);
printf("%c", received_char);
// Imprimir o caractere recebido no console
//printf("%c", received_char);
var=0;
}
return 0;
}