Witam, piszę program w C++ na mikrokontroler. Mam taką funkcję:
static void Uart0Gets(char *str) //Odbior znaku z terminalu przez rs232
{
char c;
do
{
while(!(U0LSR & U0LSR_RDR)); //Czekaj na znak
c = U0RBR; //Odbierz znak
*str++ = c; //Zapisz znak do bufora
}
while(c != '\r');
*(str-1) = 0;
}
Wywołuje ją :
Uart0Gets(buf);
I tu jest problem jak ją wywołam czeka na ten znak i nie robi nic innego, przez co cały program stoi.
Potrzebuje żeby odbierał znaki, ale nie blokował programu. Pomóżcie..