Hallo
Das sieht doch schon sehr gut aus. Hier noch ein paar Anregungen.
Code:
void halbbit_high(void)
{
uint16_t i,zaehler;
Sollte man ändern in uint8_t.
Was mir noch nicht so richtig gefällt, ist das direkte beschreiben der Port
in den Funktionen.
Code:
for(i=0; i<32; i++)
{
PORTB=1; //einaml hier
for (zaehler=0; zaehler<18; zaehler++)
asm volatile("nop");
PORTB=0; //und hier
for (zaehler=0; zaehler<18; zaehler++)
asm volatile("nop");
}
Du beschreibst den ganzen Port neu und nicht nur ein Bit. Zu zweiten
hast du bei einer Änderung der Port die freudige Aufgabe, den ganzen Code zu durchsuchen.
Ich würde oben ein paar #defines einbauen und dort die PIN / Port zuweisen.
In der Art etwa
Code:
#define IR_LED_PORT PORTB
#define IR_LED_PIN 0
#define IR_LED_DDR DDRB
#define IR_LED_ON IR_LED_PORT |= (1<<IR_LED_PIN)
#define IR_LED_OFF IR_LED_PORT &= ~(1<<IR_LED_PIN)
Und oben noch eine grobe Beschreibung, was gemacht wird und wie lange
die Funktion benötigt. Dann ist es fast optimal.
MFG
Dieter
Lesezeichen