Witam, jestem nowym oraz początkującym forumowiczem więc proszę o wyrozumiałość. Mam taki problem jak w temacie. Nad rozwiązaniem siedzę już trzy dni i nie mam większych rezultatów więc proszę o pomoc.
Chcę zapisywać ciąg danych(ASCI), które przesyłam (póki co z BrayTerminal) do uC ATmega32. Z jednym bajtem nie mam problemów. Gorzej jeżeli chcę zapisywać kolejne znaki do tablicy, aż do napotkania 0x0d. Program piszę w języku C. Póki co mam taki kod.
char * uart_gets (char *b) {
char a;
while (1) {
a = uart_getc();
if (a) {
uint8_t b=0;
char buf[20];
buf[*b]=a;
*b++;
if (a==0x0d)
break;
}else break;
}
return 0;
}
funkcja uart_getc(); pobiera jeden bajt z bufora UDR.
Pozdrawiam i proszę o pomoc, gdyż siedzę nad problemem od kilku dni.