PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RS232, Waitkey und Relais schalten ?!



Roberto
29.12.2005, 00:17
Hallo Leute

Irgendiwe stehe ich derzeit am Schlauch :-(

Ich habe zwei Mega8

Beim ersten habe ich einen Taster.
Wenn ich den Taster drücke, sendet der eine "1" per RS232 an den zweiten Mega8.
Der soll dann so lange das Relais schalten, solange ich beim ersten Mega8 die Taste drücke.

Im Prinzip funktioniert es ja, aber ich kriege es nicht hin, dass das Signal beim Relais konstant auf High bleibt.
Es kommt mehr ein Pulssignal zum Relais und das zieht so natürlich nicht an.

Der Code schaut so aus:


Do

A = Waitkey()

If A = 49 Then
Portb.0 = 1
else
Portb = 0
End If

Loop



Kriege da immer nur Pulse raus!



Habs dann auch so probiert:



Do
A = Waitkey() 'Warte auf Zeichen von
Starting:
If A = 49 Then
Portb.0 = 1
A = Inkey()
Goto Starting
End If
Portb = 0
Loop


oder so:


Do
Starting:
A = Waitkey() 'Warte auf Zeichen von
If A = 49 Then
Portb.0 = 1
Goto Starting
End If
Portb = 0
Loop


was mache ich falsch ?!

BlueNature
29.12.2005, 00:34
Servus Roberto!

Du machst da einen Denkfehler, die Byteinfortmation kommt ja nur einen Moment lang. Entweder du spendierts an und aus zwei Bytewerte oder du machst es mit einem ständigen Bytewert der in bestimmten Abständen wiederholt udn damit das Relais wie eine Art Monoflop retriggert. In der ersten Variante könntest du es wie folgt realisieren:



Do
A = Waitkey()
If A = 49 Then Portb.0 = 1
If A = 32 Then Portb.0 = 0
Loop


Dann mußt du natürlich auf der Senderseite auch etwas nachtragen:

Bei gedrückter Taste den Wert 49 senden udn bei losgelassener Taste eben die 32. Dann ist es speichernd programmiert und nicht wie von dir als Puls.

Grüße Wolfgang

Roberto
29.12.2005, 01:20
Hallo Wolfgang


Danke für die Schnelle Antwort :-)



Du machst da einen Denkfehler, die Byteinfortmation kommt ja nur einen Moment lang.

ahaaa, Du meinst, dass inzwischen, kurz, kein Zeichen da ist und das Relais inzwischen schon wieder ausschaltet..

Deine Idee werde ich morgen gleich probieren.
Klingt gut :-)


Gute Nacht noch und Danke :-)