
سلام من یه برنامه نوشتم واسه خوندن شماره ی روی تگ rfid این برنامه از سه تا تگی که من دارم دوتاشو میخونه ولی عدد اخر کارت سومی رو یکی بالا میخونه(شانس رو داری!) برنامه به این صورته که ابتدا کارت رو می خونه بعد کد هگز اصلی 10 رقمی رو رو lcd چاپ میکنه و بعد کد هگز اصلی رو به یونیک تبدیل میکنه.
برنامه رو تو codevision نوشتم.میشه بگین مشکل از کجاست؟فقط حلقه while برنامه رو گذاشتم.
[code=c]while (1)
{
UCSRB=0x90;
gets(str,10);
UCSRB=0x00;
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(str);
for (i=9;i>=4;i--)
{
if (str[i]=='0'

{s[i]=0;}
else if (str[i]=='1'

{s[i]=1;}
else if (str[i]=='2'

{s[i]=2;}
else if (str[i]=='3'

{s[i]=3;}
else if (str[i]=='4'

{s[i]=4;}
else if (str[i]=='5'

{s[i]=5;}
else if (str[i]=='6'

{s[i]=6;}
else if (str[i]=='7'

{s[i]=7;}
else if (str[i]=='8'

{s[i]=8;}
else if (str[i]=='9'

{s[i]=9;}
else if (str[i]=='A'

{s[i]=10;}
else if (str[i]=='B'

{s[i]=11;}
else if (str[i]=='C'

{s[i]=12;}
else if (str[i]=='D'

{s[i]=13;}
else if (str[i]=='E'

{s[i]=14;}
else if (str[i]=='F'

{s[i]=15;}
}
a=s[9]+s[8]*16+s[7]*pow(16,2)+s[6]*pow(16,3)+s[5]*pow(16,4)+s[4]*pow(16,5);
ltoa(a,da);
sprintf (z,"ID= %s",da);
lcd_gotoxy(0,1);
lcd_puts(z);
}; [/code]