 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
mannyk
Anmeldungsdatum: 31.01.2006 Beiträge: 2
|
Verfasst am: 01.02.2006, 13:53 Titel: Nochmal: Relaiskarte ansteuern |
|
|
Hi!
Ich habe endlich einen Code gefunden, mit dessen Hilfe ich meine Karte (seriell, 8-fach, von Conrad) ansprechen kann.
Hier der Code:
Code: |
'serielle Schnittstelle fuer Ausgabe oeffnen (evtl COM2 in COM1 aendern):
OPEN "COM1:19200,N,8,1,BIN,CS,DS" FOR OUTPUT AS #1
'kuenftig wollen wir nur noch Relais schalten (3 = Set Port):
Kommando% = 3
'Relais schalten (mit dem Datenwert kann experimentiert werden):
'-------------------------------------
'Relais 1 wird angezogen
Daten% = 1 'Bit 0(Wert=1) und Bit 2(Wert=4) setzen; Relais 1,3 ziehen an
GOSUB Senden 'die neuen Daten senden
SLEEP 3
'Relais 2 wird angezogen
Daten% = 2 'Bit 0(Wert=1) und Bit 2(Wert=4) setzen; Relais 1,3 ziehen an
GOSUB Senden 'die neuen Daten senden
'-------------------------------------
CLOSE #1 'serielle Schnittstelle schliessen
END 'Programm beenden
'-- Unterprogramm ----------------------------------------------------------
Senden:
'Pruefsumme bilden (siehe Anleitung):
PruefSumme% = Kommando% XOR Adresse% XOR Daten%
'Aus den vier Zahlen vier Zeichen bilden (CHR$) und zu einem
'String (Send$) zusammenfuegen ( + ); das ist der "Rahmen"(Frame):
Send$ = CHR$(Kommando%) + CHR$(Adresse%) + CHR$(Daten%) + CHR$(PruefSumme%)
'den Rahmen auf der seriellen Schnittstelle senden:
PRINT #1, Send$;
'und zurueckspringen:
RETURN
'-- Unterprogramm ENDE
|
Das Problem ist jetzt nur jenes, dass wenn ich Relais 1 schalten will, und 3 sekunden danach Relais 2 schalten will, dass Relais 1 wieder zurückspringt. Kann ich das irgendwie unterbinden?
mfg,
manny |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 01.02.2006, 16:15 Titel: Re: Nochmal: Relaiskarte ansteuern |
|
|
Hallo
mannyk hat Folgendes geschrieben: |
Code: |
Daten% = 2 'Bit 0(Wert=1) und Bit 2(Wert=4) setzen; Relais 1,3
|
|
Wenn du Relais 3 schalten willst, solltest du auch - wie richtig angegeben ist - Daten% auf vier (für Bit 2) nicht auf zwei setzen. Dann ist aber NUR das 2. Bit gesetzt und das nullte wieder auf Null. Wenn du mehrere Relais gleichzeitig schalten willst, musst du auch beide Werte von Bit 0 und 2 addieren, also hier 1 + 4 = 5.
Daten% = 5
sollte also Relais 1 und 3 einschalten
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|