Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

OPEN COM Befehle
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Flashbanger



Anmeldungsdatum: 03.09.2006
Beiträge: 14

BeitragVerfasst am: 03.09.2006, 19:17    Titel: OPEN COM Befehle Antworten mit Zitat

Hallo ich bin neu hier und nutzte freebasic

ich möchte ein programm schreiben das den Com port ausließt und bestimmte werte auswertete und umrechnet.


ein steurungsprogramm für modelleisenbahnen soll auf einem windows-pc laufen. diese sendet daten an den com port.
der com port ist mit dem com-port des 2 pc's verbunden.

volgendes kann ich euch über das protololl des steurungsprogramms sagen:

eine einfache version sieht so aus:
Für loks:

100 OPEN "COM1:2400,N,8,2,CS10000,DS" FOR RANDOM AS #1
110 CLS
200 INPUT " Byte1 (Geschw. 0-15) "; GE
210 INPUT " Byte2 (Loknr. 1-80) "; LN
290 IF LOF(1) < 512 THEN GOTO 290
300 PRINT #1, CHR$(GE); CHR$(LN);
310 GOTO 200


für weichen:

100 OPEN "COM1:2400,N,8,2,CS10000,DS" FOR RANDOM AS #1
110 CLS : ROT = 34 : GRUEN = 33 : AUS = 32 : TW = 1
200 INPUT " Magnetartikel (1-255) "; MN
210 INPUT " Rot oder Gruen (R/G) "; MS$
220 IF MS$ = "r" OR MS$ = "R" THEN MS = ROT: GOTO 300
230 IF MS$ = "g" OR MS$ = "G" THEN MS = GRUEN: GOTO 300
240 GOTO 200
300 IF LOF(1) < 512 THEN GOTO 300
310 PRINT #1, CHR$(MS); CHR$(MN);
311 T = TIMER +0.2
320 IF TIMER < T THEN 320
325 IF LOF(1) < 512 THEN GOTO 325
330 PRINT #1, CHR$(AUS);
340 GOTO 200


für rückmeldedekoder:

100 OPEN "COM1:2400,N,8,2,CS10000,DS" FOR RANDOM AS #1
110 CLS : RM = 1
200 LOCATE 1, 29, 1: PRINT " ": LOCATE 1, 1, 1
210 INPUT " Rueckmeldemodulnr. (1-63) "; RM
220 IF RM < 1 OR RM > 63 THEN GOTO 200
230 IF LOF(1) < 512 THEN GOTO 230
240 PRINT #1, CHR$(RM + 192);
250 PRINT : PRINT
260 PRINT "Schalter: 1 2 3 4 5 6 7 8": PRINT "ein/aus : ";
270 A = ASC(INPUT$(1, #1))
280 FOR I = 7 TO 0 STEP –1 : PRINT SGN(A AND 2 ^ I); : NEXT
310 PRINT : PRINT : PRINT
320 PRINT "Schalter: 9 10 11 12 13 14 15 16": PRINT "ein/aus : ";
330 B = ASC(INPUT$(1, #1))
340 FOR I = 7 TO 0 STEP –1 : PRINT SGN(B AND 2 ^ I); : NEXT
380 GOTO 200



wie kann ich mit dem 2 pc die com schnittstelle auslesen und mir die dort ankommenden daten anzeigen lassen ???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 03.09.2006, 21:33    Titel: Antworten mit Zitat

willkommen im forum zwinkern

also da du freeBasic benutzt, empfehle ich dir, die ganzen zeilennummern wegzulassen, die waren nur damals bei gwbasic nötig (und das is laaaaaaaange her). mit open com kenn ich mich nicht so gut aus, aber ich hab da mitgekriegt, dass es unter winXP ohne einen gewissen Emulator probleme gibt...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flashbanger



Anmeldungsdatum: 03.09.2006
Beiträge: 14

BeitragVerfasst am: 03.09.2006, 21:42    Titel: Antworten mit Zitat

ich hab zwar windows xp doch ich teste meine programme auf einem win98-pc und einem win 95 PC.


am liebsten hätte ich ein programm das wie nullmodem.bas funktioniert, sprich mir erst einmal anzeigt was das steurungsprogramm denn so sendet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 03.09.2006, 22:04    Titel: Antworten mit Zitat

Hi,
mit dem COM-Port kenn ich mich auch nicht so gut aus, aber laut FBhilfe
http://freebasic.de/Referenz.php?zeig=tuts&col1=a0d5d0&ref=yes&show=OPEN%20COM
soll:
OPEN COM "COM1:2400,N,8,2,CS10000,DS" FOR RANDOM AS #1 gehen, zumindest unter XP und 98 (95??).

Die Zeilennummern stören erst mal nicht, ein paar werden auch als Label gebraucht. grinsen

Gruß Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 03.09.2006, 22:24    Titel: Antworten mit Zitat

Open com funktioniert unter windows xp einwadfrei.
Falls es nicht gehen sollte, kann man immer noch mit INP/OUT arbeiten, das geht auf jeden fall.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 03.09.2006, 22:37    Titel: Antworten mit Zitat

programmierer hat Folgendes geschrieben:
Falls es nicht gehen sollte, kann man immer noch mit INP/OUT arbeiten, das geht auf jeden fall.

Das kann ich bestätigen. Ich habe bereits unter Windows NT4, 2000 und XP erfolgreich mit FB's OUT-Befehlen eine "Skillsche COM-Port Relaiskarte" angesteuert. lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kai Bareis



Anmeldungsdatum: 10.09.2004
Beiträge: 545
Wohnort: Baden Würtemberg

BeitragVerfasst am: 03.09.2006, 22:45    Titel: Antworten mit Zitat

Und OPEN COM sollte mit FB unter Win 2000/XP kein problem sein da ich damit schon gearbeitet habe.
_________________
MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 04.09.2006, 00:30    Titel: Antworten mit Zitat

Hi,
ich hoffe damit kann man die Steuersignale empfangen, aber ich konnte es nicht ausprobieren.
Code:
Dim As Integer ff, l, t, x
Dim Icom As UByte
Screen 0
ff = Freefile
Open COM "COM1:2400,N,8,2,CS10000,DS" For Input As #ff
'Do : Loop While Lof(ff)<512 'Initialisierung??
l = Lof(ff)
t = Timer
?"Start: ";Time$; " Abbruch mit Escape"
Do
  If Lof(ff)>l Then
    Input #ff,Icom
    x = Icom
    Select Case x
    Case 0 To 15'Byte 1 0 - 15 = Geschwindigkeit 2Byte LockNr 1-80
      Input #ff,Icom
      l+=2
      ?"Zug: ";Icom;" Geschwindigkeit: ";x
    Case 32'Byte 1 32 = (Zeitverzögert) Magnetartikel AUS,
      l+=1
      ?"Magnetartikel: Aus"
    Case 33'Byte 1 33 - 34 = Weichen GRUEN, ROT Byte 2 Magnetartikel
      Input #ff,Icom
      l+=2
      ?"Magnetartikel: ";Icom;" gruen"
    Case 34
      Input #ff,Icom
      l+=2
      ?"Magnetartikel: ";Icom;" rot"
    Case 193 To 255'Byte 1 193 - 255 = Rückmeldemodul-192, Byte 2 und 3 Schalterstellungen
      Input #ff,Icom
      ?" Rueckmeldemodul: ";(x-192);"  ";Bin(Icom,8);
      Input #ff,Icom
      ?Bin(Icom,8)
      l+=3
    Case Else
      ?"???",x
      l+=1
    End Select
    t = Timer
  End If
  If t+5 < Timer Then
    ?"kein Signal ";Time$
    t = Timer
  End If
Loop Until Inkey=Chr(27)
Close #ff
?"ENDE: ";Time$
Sleep


Gruß Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flashbanger



Anmeldungsdatum: 03.09.2006
Beiträge: 14

BeitragVerfasst am: 04.09.2006, 15:36    Titel: Antworten mit Zitat

Danke Volta

das programmm zeigt bei

?" Rueckmeldemodul: ";(x-192);" ";Bin(Icom,cool;

und bei

?Bin(Icom,cool

beim compieleren einen fehler und zwar

"argument count mismatch, found: '8'"

ansonsten muss ich noch ausprobiern ob es klappt.


da die funktion der rückmeldungeg zz noch nicht von belang ist, da die anlage noch nicht automatisch laufen soll teste ich jetzt das ganze mal ohne diese abschnitte.



So ich hab dan test beendet.
ergebnis: negativ
es kam inmmerwieder :kein singnal
auch das programm nullmodem.bas schft es nicht eine verbindung zu erstellen

woran kann das liegen???

das kabel habe ich gecheckt das ist in ordnung.

die schnittstellen müssen auch in ordnung sein(modem geht)

Ich stelle euch jetzt noch mehr infos zu verfügung:

Beim orginal interface von Märklin werden blos die leitungen RxD, TxD, GND, RTS sowie CTS geschaltet.(so steht es in der anleitung)

die leitungen DCD, DIR und DSR können falls nötig mitteinader vebunden werden.

wann das nötig ist weis ich allerdings nicht.

die von mir obern angegebenne quelltexte sind von Märklin selber.

das programm welches ich nutzte ist allerdings von Freiwald.

doch auch bei verwendung des orginal-märklin-programmes klappt nix.

firewall ist ausgeschaltet.


Serielle schnittstellen dürften eigendlich normal sein.


das von märkin verwendete protokoll wird P50 genannt. ein nachfahre ist P50x, welches allerdings von uhlenbrock(einer anderen modelleisenbahn firma) genutzt wird. auf der nächsten seite gibst dann sie infos zum orginal märklin P50 protokoll.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flashbanger



Anmeldungsdatum: 03.09.2006
Beiträge: 14

BeitragVerfasst am: 04.09.2006, 16:02    Titel: Antworten mit Zitat

P50-Commands (Märklin 6050):
-----------------------------
0x00 .. 0x1F: Geschwindigkeit und 'Function' (2 Bytes)
Die unteren 4 Bits des ersten Bytes sind die Geschwindigkeit (0 .. 14). Der
Wert 15 bedeutet Richtungsumkehr. Das Bit 4 (0x10) schaltet die 'Function'
(Licht). Ist es gesetzt so wird das Licht eingeschaltet, sonst aus.
Das zweite Byte ist die Lokadresse. Gültige Adressen: 1 .. 255.

0x20 .. 0x22: Weichen (2 Bytes)
Das erste Byte kodiert die Funktion für die Weiche: 0x20 = Weichenantrieb
aus, 0x21 = Weiche gerade ('grün'), 0x22 = Weiche auf Abzweig ('rot').
Das zweite Byte ist die Weichenadresse 1 .. 255.
Anmerkungen: Das Kommando 0x23 ist eigentlich nicht vorgesehen. Es verhält
sich jedoch genauso wie 0x20 (Weichenantrieb aus). Im Kommandobereich bis
0x3F wiederholen sich die Weichenkommandos alle 4 Werte (0x24, 0x28, ... 0x3C
sind also das Gleiche wie 0x20).
ACHTUNG: die Magnete sollten sicherheitshalber automatisch abschalten ....
(oder nicht???)

0x40 .. 0x4F: Funktionen F1 bis F4 (2 Bytes)
Das erste Byte enthält in den unteren 4 Bits den neuen Zustand der Funktionen
F1 bis F4. Dabei wird F1 durch Bit 0 (0x01) und F4 durch Bit 4 (0x08) darge-
stellt.
Das zweite Byte ist die Lokadresse 1 .. 255.
Anmerkung: Das Kommando wiederholt sich im Bereich 0x50 .. 0x5F.
AUSNAHME: 0x58 = 'X' dient als Prefix für erweiterte Kommandos (P50x)

0x60 .. 0x61: Start / Stop (1 Byte)
0x60 entspricht dem Drücken der Taste "GO", 0x61 entspricht dem Drücken der
Taste "STOP". Die Kommandos wiederholen sich alle 2 Kommandowerte bis 0x7F
wobei jeder gerade Wert einem "GO" entspricht und jeder ungerade einem
"STOP".
AUSNAHME: 0x78 = 'x' dient als Prefix für Erweiterte Kommandos (P50x)

0x80 .. 0x9F: Ausgabe einer Anzahl S88-Units / S88 Reset aus (1 Byte)
Die unteren 5 Bits sind die Anzahl der auszugebenden S88 Module (1 bis 31).
Wird als Anzahl 0 angegeben (Kommando 0x80) so wird das S88-Autoreset
abgeschaltet.

0xA0 .. 0xBF: unbenutzt (1 Byte)

0xC0 .. 0xDF Ausgabe einer S88-Unit / S88 Reset ein (1 Byte)
Die unteren 5 Bits ist die Nummer des auszugebenden S88-Moduls (1 bis 31).
Wird als Anzahl 0 angegeben (Kommando 0xC0) so wird das S88-Autoreset
eingeschaltet.

0xE0 .. 0xFF: unbenutzt (1 Byte)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 04.09.2006, 21:38    Titel: Antworten mit Zitat

Hi Flashbanger,
ich habe leider keine Erfahrung mit der seriellen Schnittstelle und kann dir dazu auch kaum Tips geben.
Erst wenn das orginal Programm mit der digitalen Steuerung richtig arbeitet kannst du Fehler der Hardware ausschließen und eigene Programme probieren.

Zum Protokoll habe ich auch diese Seite gefunden:
http://www.marklin.com/tech/digital1/components/commands.html

Den Compiler-Error bekomme ich nicht mit meiner FB0.16stabel Version?

Gruß Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flashbanger



Anmeldungsdatum: 03.09.2006
Beiträge: 14

BeitragVerfasst am: 04.09.2006, 22:29    Titel: Antworten mit Zitat

hey danke

auf der deutschen-märklin seite gibt es nicht so viele detailierte informationen über das protokoll des interfaces.

das problem ist das ja bereits diese nullmodem-chat-programm nicht funktioniert.

Ich selber nutzte die aktuelle version von FB-IDE.

warum ich es nicht schffe diese chatprogramm zum laufen zu bringen ist mir ein rätsel


doch trotzdem habe ich bestimmte fragen die noch offen sind.

wenn ich dieses OPEN COMX benutzte so geb ich ja werte für geschw. und so weiter fest.

wenn ich allerdings windows nutzte so hab ich die selben infos ja auch noch im geräte manager zu wählen???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 05.09.2006, 11:58    Titel: Antworten mit Zitat

Hi,
hier im Forum ist DB1BMN anscheinend ein Experte für die serielle Schnittstelle (siehe http://forum.qbasic.at/viewtopic.php?p=29433#29433),
jedenfalls kann man sich auf seiner HP viele Infos dazu beschaffen happy .
Diese Links auf gute Terminal Programme habe ich dort gefunden:

http://www.cc5x.de/COM-Terminal/

http://www.hw-group.com/download_en.html#utils (Br@y++ Terminal)

Das ist sicher ein Versuch wert damit dein Problem anzugehen.

Wenn mich nicht alles täuscht, stellt FB die Schnittstellenwerte auch unter Windows selbst ein, über den Gerätemanager brauchst du nichts verändern.

Gruß Volta
EDIT/ beinah hätte ich Skilltronics hier aus dem Forum vergessen traurig
schau mal hier http://www.skilltronics.de/versuch/elektronik_pc/comtest.html
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DB1BMN



Anmeldungsdatum: 17.12.2005
Beiträge: 24
Wohnort: Delmenhorst

BeitragVerfasst am: 06.09.2006, 00:12    Titel: Antworten mit Zitat

Hallo Volta,

danke, dass du an mich gedacht hast lächeln
In der Tat hab ich so einiges an den COM-Port gemuddelt, aber Skilltronik hat natürlich die besseren Skills und bringt auch seine Projekte zu Ende.

Nun zur eigentlichen Problemstellung. Funktioniert denn der COM-Port bei Flashbanger? Ich verwende für Tests an der Hardware auch gerne das Br@y-Terminal.

Aber moment mal, ich habe mir mal eben noch mal die aktuellste version 17 von FB draufgespielt und bekomm das nachfolgende einfachst-Programm nicht zum laufen:
Code:
rem einfaches Testprogramm, ob Echo auf COM-Port funktiniert
rem freebasic 17 30.Jul testing

open com "COM1: 1200, N, 8, 1" For random As #1
    rem in port schreiben und gucken obs ankommt
        do
         
          print #1, "hallo welt"
         

        loop until inkey$=chr$(27)
close #1

Zitat:
Command executed:
"D:\Programme\FreeBASIC\fbc.exe" "D:\Programme\FreeBASIC\FBIDETEMP.bas" -mt

Compiler output:
D:\Programme\FreeBASIC\bin\win32\ld.exe: cannot find -lmingwex

Results:
Compilation failed


Ich denke, wenn das hin- und herschicken der Daten klappt, kriegen wir dann auch leicht das Märklin-Protokoll eingebaut.

Beste Grüße, Marek
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 06.09.2006, 10:20    Titel: Antworten mit Zitat

Hi Marek,
DB1BMN hat Folgendes geschrieben:
Nun zur eigentlichen Problemstellung. Funktioniert denn der COM-Port bei Flashbanger?
Da müssen wir mal auf seine Antwort warten.

DB1BMN hat Folgendes geschrieben:
Aber moment mal, ich habe mir mal eben noch mal die aktuellste version 17 von FB draufgespielt und bekomm das nachfolgende einfachst-Programm nicht zum laufen:
Versuche es lieber mit der FB0.16stabel. Beim Testprog oben habe ich keine Compiler-Fehler bekommen, konnte es aber mangels Hardware nicht testen.

Gruß Volta
EDIT/ Die Testversionen von FB haben meist nicht die geänderten .inc und .bi Dateien als Inhalt.
Die muss man sich dann extra aus dem CVS holen, sonst gibt es Fehlermeldungen beim compilieren.
Holt man sich aber diese Dateien sehr viel später nach der Veröffentlichung der Testversion, weinen
wurden soviel neue Änderungen in die .inc und .bi Dateien eingebaut, dass es auch wieder Fehler hagelt durchgeknallt
Benutzt man die Testversionen nicht, hilft das den Entwicklern nicht die Fehler zu finden missbilligen
Was man auch macht, mit Fehlern muss man leben....

_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flashbanger



Anmeldungsdatum: 03.09.2006
Beiträge: 14

BeitragVerfasst am: 07.09.2006, 22:14    Titel: Antworten mit Zitat

Ja der COm port ist absolut in ordnung den mit dem COM-terminal lässt sich prima chatten.

doch warum schaff ich es nicht mit FB ein einfaches wort von pc1 auf pc2 zu übertragen??
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DB1BMN



Anmeldungsdatum: 17.12.2005
Beiträge: 24
Wohnort: Delmenhorst

BeitragVerfasst am: 08.09.2006, 23:23    Titel: Antworten mit Zitat

Moin,

jetzt hab ich endlich alle meine 7 Sachen zusammen und nach langer Zeit wieder was lauffähiges unter FB geproggt.
Hier mal ein einfachstes Chat-Programm zum Testen. Läuft auch unter XP. Bitte mit der Final 0.16-Version von FB kompilieren. Damit ist eine 2-Wege Kommunikation möglich.
Wenn das dann läuft mal sehen wie wir dann das Märklin-Protokoll reinfummeln.

Code:
rem einfaches Testprogramm, ob Echo auf COM-Port funktiniert
rem freebasic 0.16 final

open com "COM1: 1200, N, 8, 1,CD0,CS0,DS0,OP0,RS" For RANDOM As #1
    rem in port schreiben und gucken obs ankommt
        do
        sleep 1
            eingabe$ = inkey$
                print eingabe$;
                print #1, eingabe$;
         
        rem aus port lesen
            if loc(1) then
                do
                    print input$(1, #1);
                loop until not eof(1)
            end if
         
       
        loop until eingabe$ = chr$(27)
close #1


Beste Grüße, Marek
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flashbanger



Anmeldungsdatum: 03.09.2006
Beiträge: 14

BeitragVerfasst am: 10.09.2006, 19:15    Titel: Antworten mit Zitat

Erste erfolge

hab jetzt herausgefunden wie das interface protokoll funktioniert

jeder befehl besteht aus 2 Bytes
das erste byte bestimmt die geschwindigkeit, welches auch bestimmte sonderfunktionen bestimmt. so ist beispielsweise der wert 97 ein not-haltbefehl

das zweite byte bestimmt die lokkardresse


aber nun zu den erfolgen:

ich habe auf pc 1 volgendes ausgeführt

open "com2:2400,N,8,2,CS0,DS0" for output as #1
input "A"; A
input "B"; B
print #1, CHR$(A); CHR$(B)
close #1


auf pc 2 habe ich das programm com-terminal benutzt welches mir die eingegebenen werte anzeigt

auch das programm von märklin sendet diese bytes an pc2


doch das fremdprogramm testet zuerst ob ein interface da ist.

ich vermute, dass das reele interface auf dem CTS-Pin eine spannung sendet.

ich hab gehört, dass der TxD nur senden kann der RxD nur empfangen kann

RTS soll eine spannung rausgeben können und CTS eine annehmen


doch jetzt brauch ich ein programm, welches quasi das gegenteil von meinem programm macht also die datendes com ports ausließt und anzeigt.

MfG Flashbanger
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DB1BMN



Anmeldungsdatum: 17.12.2005
Beiträge: 24
Wohnort: Delmenhorst

BeitragVerfasst am: 10.09.2006, 23:04    Titel: Antworten mit Zitat

Hi Flashbanger,

konfigurier mal dein COM-Port so, wie ich das oben gemacht habe, also:
Code:
open com "COM2: 2400, N, 8, 2,CD0,CS0,DS0,OP0,RS" For RANDOM As #1

Dann sollte es zumindest keine Probleme mehr geben beim Warten aufs Interface.

Beste Grüße, Marek
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flashbanger



Anmeldungsdatum: 03.09.2006
Beiträge: 14

BeitragVerfasst am: 11.09.2006, 13:57    Titel: Antworten mit Zitat

ich glaub ich wurde falsch verstanden

ich hab kein interface sondern will ein programm schreiben, welches quasi das interface ersetzt.

die daten die eigendlich zum interface gesendet werden sollen zu einem computer gesendet werden, der sie ausließt und bearbeitet.

mein problem ist das ich nicht weis wie ich in FB die com schnittstelle auslese
also die daten von meiner com mir auf dem bildschirm anzeigen lassen kann.

z.b als einfache nummernfolge

außerdem soll natürklich nur etwas angezeigt werden wenn ein wert gesendet wurde. und nicht ständig eine zahl gezeigt werden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
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.

 Impressum :: Datenschutz