Ich hole mir die Zeichen für das 7-Segment aus einer Tabelle.
1 | const unsigned char Tabelle[] PROGMEM = {249, 164, 176, 153, 146, 130, 248, 128, 144};
|
Nun möchte ich gerne den Wert der im EEPROM gespeichert ist hervorheben.
Dazu nehme ich mir den Punkt auf dem Segment her.
D.h. Wird beim durchschalten der Ziffern eine Übereinstimmung mit dem
Wert im EEPROM erziehlt soll der Punkt mitleuchten zur Ziffer.
Ich hatte mir das so gedacht:
1 | test = eeprom_read_byte(&eeFooByte);
|
2 | if (nKeyPress == test)
|
3 | {
|
4 | SEGMENT_PORT = pgm_read_byte(&Tabelle[nKeyPress])+127;
|
5 | }
|
Also nimm einfach den Wert für den Punkt (das wäre in dem Falle 127 -
BIN=01111111) und addiere es zum aktuellen Wert.
Aber wie ihr euch ja jetzt sicher denken könnt, funktioniert das nicht.
Tja, nun frage ich mich, wie denn das nun lösen könnte.
Muß ich den Wert aus der Tabelle vielleicht in BIN umwandeln und dann
das Bit dazuzählen?
Oder wie würdet ihr das machen?