Dieser Code sollte eine PS2 Tastatur auslesen, was aber noch nicht wie
gewünscht funktioniert.
Statt 01001010001 Für die Leertaste bekomme ich 11111010001.
Ich hoffe dass der Code ausreichend kommentiert ist.
Zur Funktionsweise
Auf ne Fallende Flanke warten, Bit lesen und setzen, auf die steigende
Flanke warten.
Was mache ich falsch.
PS: Einen Interrupt pin will ich nicht verwenden.
EDITH: So falsch kann mein Algorithmus gar nicht sein, denn wenn ich die
Bits in ein ByteArray stopf, dann gehts
1 | unsigned char bits[11];
|
2 | unsigned char i = 0;
|
3 | while(i < 11) { //11Bits (Start, 8xDaten, Parity, Stop)
|
4 | while(get_clock() == 1) //warten auf fallende Flanke
|
5 | ;
|
6 | bits[i] = get_data();
|
7 | while(get_clock() == 0) //waren auf steigende Flanke
|
8 | ;
|
9 | i++;
|
10 | }
|