porovnanie char polí
Moj probem je v porovnani dvoch char array - "blabla" a "vstup".
Pole "vstup" sa postupne generuje a ked sa splni podmienka if (data==0x0D)
tak by sa mali tie dve polia porovnat, ak su rovnake tak sa ma vykonat PORTB=1;
Potom sa pole vstup vynuluje a cele sa to opakuje.
Chyba: Nech je vstup akykolvek aj tak sa vykona PORTB=1;
char command;//nepodstatne
char *vstup="";
int pos;
pos=0; //index pola vstup
char blabla="ahoj";
while (1)
{
//tu sa do data sa priradi znak ktory sa v else pripise do vstup
char data=USART_getch();
if (data==0x0D)
{
//porovnanie
if (strcmp(blabla,vstup)==0){PORTB=1;}
//vynulovanie
int i;
for (i=0;i<pos;i++)
{
vstup[i]=0;
}
pos=0;
}
else
{
wait();//nepodstatne
UDR0=data;
command=data;//do command sa priradi jeden znak
vstup[pos]=command;//do vstup sa pripise jeden znak
pos++;
}
}
}
Dufam ze som to zrozumitelne napisal a ze mi niekto pomoze.
Pre pridávanie komentárov sa musíte prihlásiť.
...
for (...)
vstup[i] = 0;
???
segfault
Cyklus ma byt nekonecny, ale to predsa nema vplyv na to co uvadzam ako chybu v prvom prispevku.
Co poviete na knihu c pro zelenače?