Gast
#887602
Hallo Zusammen, habe einen RFID Reader, der die ID Nr. einer ISO Karte auslesen kann. Was ich möchte ist der Vergleich der ID Nr. Die ID kann ich mit Hyper Terminal darstellen (siehe Anhang). Ziel ist, wenn eine erwartete ID Nr. kommt, leuchtet LED an Mega 16 an. Das ist einfach ein Stringvergleichsproblem. Anbei auch die Programmcode. Aber das geht bei mir nun nicht. Für die ID kann man 8 byte sehen, aber es gibt noch '\n' oder '\0' Zeichen dahinten. Deswegen nehme ich die erste 8 byte aus und lege in ein neuem StringArray. Aber es funzt auch nicht, die LED leichtet nicht. Wenn mir hier jemand hilfen kann, bin ich sehr dankbar. int tmp = 0; int i,j,k = 0 ; unsigned char ID[10]; unsigned char IDcopy[8]; int main(void) { USART_Init(USART_BAUD); DDRA = 0xff; while(1) { for(i = 0; i < 10; i++) { tmp = USART_Receive(); USART_Transmit(ID[i]); ID[i] = tmp; } for(j = 0; j < 8; j++) IDcopy[j] = ID[j]; if(strcmp("E6285CA4",IDcopy) == 0) set_bit(PORTA,PA0); else clear_bit(PORTA,PA0); } return 0; }