PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mega8 soll bei 5V Signal schalten



Foooob
11.06.2005, 12:46
Hallo

Ich bin in Bascom noch ein ziemlicher Anfänger.
Nun es ist so, dass mein MEga8 bei einem 5V Signal am Eingang dann die Motoren schalten soll.

Wie muss ich das programmieren...
Momentan sieht das ganze so aus:



$regfile = "m8def.dat"
$crystal = 3686411

Ddrd = &B11110000
Ddrc = &B00000000





Do

Loop

If Pinc.2 = 1 Then

Portd.4 = 0
Portd.7 = 0

Portd.6 = 1
Portd.5 = 1
Waitms 2000
End If

End


Mein AVR lässt das aber kalt, der macht da überhaupt nix wenn ein 5V Signal an PC2 kommt

uwegw
11.06.2005, 13:17
du solltest in den else teil packen dass die ganzen ports wieder zurückgesetzt werden, ebenso nach den 2 sekunden wartezeit... sonst schaltet der avr ein mal und dann nie wieder...

alternativ so:

Do

Loop

If Pinc.2 = 1 Then

Portd.4 = 0
Portd.7 = 0

Portd.6 = 1
Portd.5 = 1
Waitms 2000
End If

Portd.4 = 0
Portd.7 = 0

Portd.6 = 0
Portd.5 = 0
End

rapo
11.06.2005, 13:41
hallo,
was macht die "do loop" Anweisung am anfang?
das heißt, der mega führt nur das aus, was zwischen "do" und "loop" steht, also nix.
wenn das Prog. einmal ablaufen soll, das "do loop" weglassen, wenn es immer wieder laufen soll, dann "do" am Anfang, "loop" am Ende des abzuarbeitenden Progs.
mfg ralf

uwegw
11.06.2005, 14:11
also insgesamt so:


Do

If Pinc.2 = 1 Then

Portd.4 = 0
Portd.7 = 0

Portd.6 = 1
Portd.5 = 1
Waitms 2000
End If

Portd.4 = 0
Portd.7 = 0

Portd.6 = 0
Portd.5 = 0

loop


End[/quote]

Foooob
11.06.2005, 18:51
Danke, nun geht es :)