Hallo
Ich habe für meinen Mega 8 folgendes Programm geschrieben
Bei den Tastern handelt es sich um Schließer. Sie liegen jeweils zwischen dem Mega8 und MasseCode:$regfile = "m8def.dat" 'ATmega8 $crystal = 3686411 'Quarz: 3686411 Hz Declare Sub Tasterlinks Declare Sub Tasterrechts Declare Sub Anhalten Ddrd = &B11110000 'Pin PD4 bis PD7 als Ausgänge Ddrb = &B00000000 Portd.2 = 1 'Taser 1 Portd.3 = 1 'Taster 2 Portb.0 = 1 'Taster 3 Do Portd.4 = 1 'Motoren drehen in gleiche Richtung Portd.5 = 0 Portd.6 = 1 Portd.7 = 0 Debounce Pind.2 , 0 , Tasterlinks , Sub 'Taster 1 Sub Tasterlinks Portd.4 = 0 Portd.6 = 0 Portd.5 = 1 Portd.7 = 1 Waitms 1500 Portd.4 = 1 Portd.7 = 1 Portd.6 = 0 Portd.5 = 0 Waitms 2000 End Sub Debounce Pind.3 , 0 , Tasterrechts , Sub 'Taster 2 Sub Tasterrechts Portd.4 = 0 Portd.6 = 0 Portd.5 = 1 Portd.7 = 1 Waitms 1500 Portd.4 = 0 Portd.7 = 0 Portd.6 = 1 Portd.5 = 1 Waitms 2000 End Sub Debounce Pinb.0 , 0 , Anhalten , Sub 'Taster 3 Sub Anhalten Portd.4 = 0 Portd.5 = 0 Portd.6 = 0 Portd.7 = 0 Waitms 20000 End Sub Loop End
Wenn ich das Programm aber auf meinen Mega8 überspiele benimmt er sich ziemlich komisch, ich habe ihn noch nicht an die Motoren angeschlossen sondern nur mit dem Messgerät die Spannung an den Outputs für die Motoren abgegriffen.
Der AVR schaltet hier ständig zwischen 0V und 12V (Maximalspannung) hin und her. Ich schätze mal er geht den Befehler für die Taster nach, die aber nicht angeschlossen sind und er das deswegen gar nicht sollte...was ist hier denn falsch?![]()







Zitieren

Lesezeichen