Как читать прямо из стандартного ввода в C?
Я хочу сделать функцию, которая передает ввод в uart на микроконтроллере наоборот. Для этого мне нужно создать функцию, которая проверяет, есть ли ввод uart и ввод stdin. Мое текущее решение - запустить 2 функции в 2 ядрах Nano RP2040 Connect. Проблема в том, что я получаю ошибку тайм-аута, когда пытаюсь подключиться. Код ниже:
void pass_to_nina(){
char c;
while(1){
c = getchar();
if(c == PICO_ERROR_TIMEOUT)
{
uart_write_blocking(uart1, &c, 1);
}
}
}
void pass_to_usb(){
char a;
for(;;){
if(uart_is_readable_within_us(uart1, 10)){
a = uart_getc(uart1);
putchar(a);
fflush(stdout);}
}
}
Есть ли способ получить байт сразу из стандартного ввода без подсказки?
PS: я использую pico-sdk. Stdio.h предназначен для последовательной связи по USB, а hardware_uart - для связи с esp.