Moin
Ich habe ne kleine Lauflicht schaltung gebaut !
Funktioniert auch alles bis auf das PORT C die falschen werte rausgibt!
Alle anderen PORTS funktionieren einwandfrei!
Kennt irgendjemand denn Fehler?
PINC2 dauer High
PINC3 dauer High
PINC4 dauer Low
PINC5 dauer High
Und hier nochmal ein ausshnitt vom Code:
Danke schonmal fürs anguckenCode:// ** Präprozessor ** // #include <stdio.h> #include <avr/io.h> #include <util/delay.h> // ** Funktionen ** // void init (void) { DDRA = 0xff; //Ports als ausgänge definieren DDRB = 0xff; DDRC = 0xff; DDRD = 0xff; } void anaus (void) { PORTA = 0xff; PORTB = 0xff; PORTC = 0xff; PORTD = 0xff; _delay_ms(5000); PORTA = 0x00; PORTB = 0x00; PORTC = 0x00; PORTD = 0x00; _delay_ms(5000); } // ** Hauptfunktion ** // int main (void) { init(); int zufall = 9; //Variable Zufall deklarieren while (1) { switch (zufall) { case 1: lauflr(); //Von links nach rechts durchlaufen zufall=zufall+1; break; case 2: laufrl(); //Von rechts nach links durchlaufen zufall=zufall+1; break; case 3: jede21lr(); //Jede zweite LED geht an von links nach rechts zufall=zufall+1; break; case 4: jede21rl(); //Jede zweite LED geht an von rechts nach links zufall=zufall+1; break; case 5: jede22rl(); //Jede zweite LED geht an von rechts nach links zufall=zufall+1; break; case 6: jede22lr(); //Jede zweite LED geht an von rechts nach links zufall=zufall+1; break; case 7: blink(); //LED`s blinken zufall=zufall+1; break; case 8: blink2w(); //jede zweite LED blinkt im wechsel zufall=1; break; case 9: anaus(); zufall=9; break; } } }
Gruß Cybrix







Zitieren

Lesezeichen