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:

Serielle Komunikation ohne LF und CR

 
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
Lokführer



Anmeldungsdatum: 23.04.2012
Beiträge: 2

BeitragVerfasst am: 23.04.2012, 19:45    Titel: Serielle Komunikation ohne LF und CR Antworten mit Zitat

Hallo zusammen,

ich habe mich gerade in diesem Forum angemeldet.... ich möchte erst einmal allen Akteuren von FreeBASIC, Danke Sagen!

Aber nun zu meinem Problem, ich benötige eine Serialle Schnittstelle die Ohne Steuerzeichen LF und oder CR auskommt. In meinem Datenprotokoll gibt es keine Steuerzeichen! Wenn mal ein &H0D gesendet wir ist es eher zufall....

Den Comport kann ich öffnen, er zeigt mir auch ab und zu mal ein Zeichen an aber nur "Nullen"...

In Bascom gibt es die Instruktion "INPUTBIN" dieses wartet auf ein Byte auf dem ComPort ohne abschliessendes CR oder LF...

Gibt es so was auch für FreeBasic? ODer muss man den ComPort entsprechend konfigurieren? Ich habe in der Befehlsreferenz/Hilfe nichts gefunden....

Gruss René
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 23.04.2012, 22:48    Titel: Antworten mit Zitat

Hallo und willkommen im Forum!

Lokführer hat Folgendes geschrieben:
Aber nun zu meinem Problem, ich benötige eine Serialle Schnittstelle die Ohne Steuerzeichen LF und oder CR auskommt. In meinem Datenprotokoll gibt es keine Steuerzeichen! Wenn mal ein &H0D gesendet wir ist es eher zufall....

Es ist in FB ohne Weiteres möglich, direkt irgendwelche Rohdaten ohne Zeilenumbrüche über die serielle Schnittstelle zu übertragen. Man kann sowohl Daten unabhängig von Zeilenumbrüchen lesen/empfangen als auch schreiben/senden - z. B. Integer-Variablen zu je 4 Bytes.
Schau dir vielleicht mal dieses Forenthema hier an: http://forum.qbasic.at/viewtopic.php?t=7405 Vielleicht helfen dir die Quelltexte schon weiter. lächeln

Viele Grüße!
Sebastian
_________________

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
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.04.2012, 23:00    Titel: Antworten mit Zitat

Artikel aus der früheren QB-Zeit:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/SerielleKommunikation.html

Dort war eigentlich INPUT$(AnzahlBytes%) die geeignete Wahl und man konnte auch bei OPEN "comx:" ein entsprechender BIN-Parameter mitgeben, damit wirklich auch alle Bytes erlaubt waren.

FreeBasic:

http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgInputnum

=> kennt dies auch immer noch.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Lokführer



Anmeldungsdatum: 23.04.2012
Beiträge: 2

BeitragVerfasst am: 24.04.2012, 17:39    Titel: Antworten mit Zitat

Danke euch beiden,

Die Hinweise waren sehr hilfreich! Mein "Progrämmchen" funktioniert nun.
Ich habe mal dieses Mini Programm angehängt, vielleicht benötigt jemand mal etwas ähnliches....

Das Programm liesst 4-Datenbytes ohne CR/LF, von der Seriellen Schnittstelle und gibt diese zur Kontrolle im Hex Format wieder aus.



Code:
#Include Once "windows.bi"

dim daten1 As string

dim n as ubyte
dim Temp(4) as ubyte

OPEN COM "COM3:57600,N,8,1,BIN" FOR BINARY AS #1

sleep 2000
    If Err>0 Then
        Print "The port could not be opened."
        sleep 5000
        end -1
    end if

do   
   
    for n = 1 to 4
        daten1 = Input( 1 , #1)
        temp(n) = asc(daten1,1)
        If temp(1) <= &H7F then
            n = 0
            exit for
        end if   
        Print Hex(temp(n))
    next n

   
   

sleep 100

loop until Inkey = Chr(27)
end -1 'Programm Ende (True)
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