#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/uart.h"
#include <string.h>
//dfd
void uartPutchar(char c)
{
uart_write_bytes(0, &c, sizeof(c));
}
void uartputs(char *str)
{
uart_write_bytes(0, (const char*)str, strlen(str));
}
void uartputchar(char c)
{
uart_write_bytes(0, &c, sizeof(c));
}
int uartkbhit(void)
{
int length = 0;
uart_get_buffered_data_len(0, (size_t*)&length);
return (length > 0);
}
char uartgetchar(void)
{
char c;
while(uartkbhit() == 0)
{
vTaskDelay(10 / portTICK_PERIOD_MS);
}
uart_read_bytes(0, &c, sizeof(0), 0);
return c;
}
void app_main() {
char *cadena = "Wasaaaaaaaaaaaaaaaaaaa\n";
char c = 'c';
const uart_port_t uart_num = UART_NUM_0;
uart_config_t uart_config = {
.baud_rate = 115200,
.data_bits = UART_DATA_8_BITS,
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_CTS_RTS,
.rx_flow_ctrl_thresh = 122,
};
// Configure UART parameters
ESP_ERROR_CHECK(uart_param_config(uart_num, &uart_config));
// Set UART pins(TX: IO4, RX: IO5, RTS: IO18, CTS: IO19)
ESP_ERROR_CHECK(uart_set_pin(0, 1, 3, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE));
// Setup UART buffered IO with event queue
const int uart_buffer_size = (1024 * 2);
QueueHandle_t uart_queue;
// Install UART driver using an event queue here
ESP_ERROR_CHECK(uart_driver_install(UART_NUM_0, uart_buffer_size, uart_buffer_size, 10, &uart_queue, 0));
while (true) {
char tecla;
tecla = uartgetchar();
uartputchar(tecla);
uartputchar('\n');
uartputs("ciclo\n");
uartputs(cadena);
vTaskDelay(10 / portTICK_PERIOD_MS);
}
}