Hi, wir programmieren den ASURO in der Schule im Informatik Leistungskurs, da meine Taster irgendwie spinnen wollte ich ein Programm schreiben, das mir anzeigt welche Werte die Taster zurückgeben. Denn mein Asuro gibt nicht die Bits zurück die es soll, also 1, 2, 4,...
Nun habe ich folgendes Programm geschrieben:

Code:
#include "asuro.h"

int main(void)
{
Init();


	while(1)
		{
		char x=PollSwitch();
		itoa(x, char string,16);
		SerPrint(x);
		x=0;	
		
		}

}
wenn ich das nun auf meinen ASURO flashe und das HyperTerminal anschalte und nacheinander die Taster drücke habe ich folgendes Problem:

kein Taster gedrückt --> es werden Nullen zurück gegeben (stimmt also)
Taster 1 --> es wird solange nichts zurückgegeben, wie ich den Taster gedrückt halte
Taster 2 --> 2 wird zurückgegeben -|
Taster 3 --> 4 wird zruückgegeben -|>--nicht immer, aber fast immer
Taster 4 --> 8 wird zurückgegeben -|
Taster 5 --> komische Zeichen
Taster 6 --> einmal komische zeichen und Programm hängt sich auf

Ich habe es auf zwei Asuro's getestet mit fast dem selben Ergebnis, kann mir vielleicht sagen was falsch ist, ich denke es liegt irgendwie an dem itoa(), da ich nicht weiß, ob ich die Funktion richtig angewandt habe. Ich hoffe es kann mir jemand helfen und bedanke mich schonmal im vorraus, für hilfreiche Antworten.