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:

Com Port Probleme

 
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
jojo2



Anmeldungsdatum: 21.06.2022
Beiträge: 2

BeitragVerfasst am: 21.06.2022, 07:36    Titel: Com Port Probleme Antworten mit Zitat

Hallo,

ich öffne einen Com Port und möchte im Anschluss Text dort Ausgeben. Das funktioniert auch einwandfrei. Wenn ich dann aber die Antworten des Gegenübers mit LINE Input einlesen möchte, kann ich danach nichts mehr senden und erhalte ERR 3.

Schließe ich den Com Port und öffne ihn wieder geht alles wieder so lange bis ich mit Line Input wieder einlese.
Ist das ein Bug?

Open "COM2: 9600,8,O,1" For Random As #1
Print #1,"reset"
sleep 50
Line Input #1,adata //bis hier hin klappt alles
Sleep 50
Print ":MP" //Bricht ab mit Err 3
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
HorstD



Anmeldungsdatum: 01.11.2007
Beiträge: 100

BeitragVerfasst am: 21.06.2022, 18:44    Titel: Antworten mit Zitat

Line Input liest eine Zeile so lange ein, bis das Zeilenende (CrLf) kommt.

Wenn adata nicht mit CrLf endet, kannst du lange warten.

Versuch's mal mit INPUT.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jojo2



Anmeldungsdatum: 21.06.2022
Beiträge: 2

BeitragVerfasst am: 22.06.2022, 07:18    Titel: Antworten mit Zitat

Das Line Input ist nicht das Problem. Das LF am Ende kommt und das Programm läuft weiter.

Nur danach kann ich nicht mehr senden...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1127
Wohnort: Ruhrpott

BeitragVerfasst am: 22.06.2022, 12:07    Titel: Antworten mit Zitat

Hallo jojo2 und willkommen im Forum! lächeln

Bist du sicher, daß das Senden bei dir überhaupt funktioniert? Denn das, was du als Code gepostet hast, öffnet mit Sicherheit keinen Com-Port. Der entsprechende Befehl lautet nicht OPEN, sondern OPEN COM, in der Parameterliste sind Parität und Anzahl der Datenbits vertauscht, und ein Dateimodus ("For Random") wird überhaupt nicht angegeben. Außerdem muß bei 8 Datenbits die Parität "N" sein.

Die Zeile müsste also korrekt lauten:
Code:
Open Com "COM2:9600,N,8,1" As #1
für 9600 Baud, keine Parität, 8 Datenbits und 1 Stopbit auf Com2, oder besser:
Code:
If Open Com ("COM2:9600,N,8,1" As #1) <> 0 Then
   Dim As Integer fehlernr = Err
   Print "Fehler beim Öffnen des Ports (Error"; fehlernr; ")"
   Sleep
   End
EndIf


Außerdem müsste es in der letzten Zeile heißen:
Code:
Print #1, ":MP"
sonst erfolgt die Ausgabe auf den Bildschirm.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
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
Seite 1 von 1

 
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