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 funktioniert nicht unter FB

 
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
DB1BMN



Anmeldungsdatum: 17.12.2005
Beiträge: 24
Wohnort: Delmenhorst

BeitragVerfasst am: 07.05.2006, 13:09    Titel: COM-Port funktioniert nicht unter FB Antworten mit Zitat

Hi, ich habe ein kleines Proggi geschrieben, um die Baudrate von GPS-Mäusen zu ändern. Unter QBasic funzt auch alles, aber FB kann den String nicht an den COM-Port senden. Ich habe es schon mit diversen Baudraten probiert aber es tut keinen Mucks.

Code:
REM einfaches Programm um die Baudrate einer NMEA-GPS-Maus zu patchen
REM
REM by DB1BMN
REM
REM 06. Mai 2006

REM l”se Befehlszeile auf

IF COMMAND$ = "?" THEN
  PRINT "Baudrate patch for NMEA-GPS mice by: DB1BMN Copyright (c) 2006."
  PRINT
  PRINT "CBNMEA c [n]"
  PRINT "c     Currend baudrate as integer."
  PRINT "n     New baudrate as integer. Default is 4800"
ELSEIF COMMAND$ = "" THEN
  PRINT "CBNMEA terminated with no effect. Wrong or missing parameters."
ELSE
  REM zerlege die Befehlszeile
    LET lokal$ = COMMAND$
    IF INSTR(lokal$, " ") = 0 THEN
      LET currentbaud = VAL(lokal$)
    ELSE
      LET currentbaud = VAL(LEFT$(lokal$, INSTR(lokal$, " ")))
      LET lokal$ = MID$(COMMAND$, INSTR(COMMAND$, " "))
      LET newbaud = VAL(lokal$)
    END IF

    IF newbaud = 0 THEN
      LET newbaud = 4800
    END IF

    OPEN "COM1: " + STR$(currentbaud) + ",N, 8, 1,CD0,CS0,DS0,OP0,RS" FOR RANDOM AS #1
      PRINT "Changing baudrate to"; newbaud; "... ";
       PRINT #1, "$PNMRX100,0," + LTRIM$(STR$(newbaud)) + ",0*"; CHR$(13) + CHR$(10);
      PRINT "Changed."
    CLOSE #1
END IF


Beste Grüße, Marek
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: 07.05.2006, 13:20    Titel: Antworten mit Zitat

Du verwendest den Open befehl falsch.

Siehe Open in der Referenz

Du musst schreiben Open com "COM1:blablabla" as #1, glaube ich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DB1BMN



Anmeldungsdatum: 17.12.2005
Beiträge: 24
Wohnort: Delmenhorst

BeitragVerfasst am: 07.05.2006, 13:34    Titel: Antworten mit Zitat

Tatsache. Mit der anderen Syntax gehts dann auch unter FB. Danke schön. Muss ich halt wieder zwei verschiedene Quellcodes für QB und FB erstellen.

Beste Grüße, Marek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
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