Servus,
ich hab gerade ein Lauflicht geschrieben. Geht auch wunderbar. Aber es läuft immer nur in einer Richtung. Wenn ich nur "vorwärts" (siehe Code-Kommentar) laufen lasse, geht es. Wenn ich nur "rückwärts" laufen lasse, ebenso. Wenn ich erst vorwärts, dann rückwärts laufen lassen will, läuft es nur rückwärts. Warum?
Danke.Code:#include <avr/io.h> #ifndef F_CPU #define F_CPU 16000000 /* Quarz mit 16 Mhz */ #endif #include <util/delay.h> void set(int PCX) { DDRC = (1<<PCX); PORTC ^= (1 <<PCX); } void wait() { int i; for (i=1; i<=48; i++) { _delay_ms(62.5); } } int main(void) { int PCX[8] = {PC0, PC1, PC2, PC3, PC4, PC5, PC6, PC7}; int i; # Vorwärts for (i=0; i<=7; i++) { set(PCX[i]); wait(); } # Rückwärts for (i=7; i>=0; i--) { set(PCX[i]); wait(); } return 0; }







Zitieren

Lesezeichen