Gast
#665155
Guten Abend!!!
Dies ist ein Teil aus meinem Quellcode:
void eingabe(int8_t *stelle, uint8_t *seg_stelle, struct bit *sig_bit)
{
_delay_ms(ZEIT50);
*stelle++;
if(*stelle > 9) *stelle = 0;
bcd_seg(stelle, seg_stelle);
};
void bcd_seg(int8_t *bcd, uint8_t *seg)
{
if(*bcd == 0) *seg = 0xfc;
else if(*bcd == 1) *seg = 0x60;
else if(*bcd == 2) *seg = 0xda;
else if(*bcd == 3) *seg = 0xf2;
else if(*bcd == 4) *seg = 0x66;
else if(*bcd == 5) *seg = 0xb6;
else if(*bcd == 6) *seg = 0xbe;
else if(*bcd == 7) *seg = 0xe0;
else if(*bcd == 8) *seg = 0xfe;
else if(*bcd == 9) *seg = 0xf6;
};
Kurze Erklärung:
Funktion eingabe bekommt 3 Zeigen übergeben, *stelle enthält einen Wert
von 0 bis 9, *seg_stelle entsprächende Wert für 7 Segment-Anzeige,
*sig_bit ist zur Kontrolle (wird hier nicht benutzt). Mit der Hilfe von
Funktion bcd_seg bekommt seg_stelle durch if-Anweisungen die Werte.
Meine Frage: Kann man das auf diese Weise realisieren? Bitte um die
Korrektur!
MfG Nicki