Ähm, was bitte soll "ein wenig anschalten" genau bedeuten?Leider hat mein Code noch das Problem, dass ich erst ein wenig den PIN A0 anschalten muss damit es klappt. Vielleicht könnt ihr mir ja ein paar Tipps geben
Ja, z.B. das "Umwandeln" von value in send_code ist völlig unsinnig. Das ist doch schon längst eine Bitfolge. Oder was denkst du, in welcher Form das im Controller bearbeitet/gespeichert wird?Ich denke, ihr habt sicher Ideen zum optimieren.
Ich würde die Funktion so schreiben:
PS: Rest vom Code habe ich mir nicht weiter angesehen.Code:void send_code (uint8_t value) { for (uint8_t mask = 1<<2; mask; mask >>= 1) { PORTA &= ~(1<<PA0); my_sleep_ms(value&mask?DEF_TIME_BIT1:DEF_TIME_BIT0); PORTA |= (1<<PA0); my_sleep_ms(DEF_TIME_BIT_NONE); } my_sleep_ms(DEF_SLEEP_BETWEEN_SEND); }







Zitieren

Lesezeichen