- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 6 von 6

Thema: Compiler überrumpeln, aber wie?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier Avatar von Head Free
    Registriert seit
    14.02.2016
    Ort
    Münchberg
    Beiträge
    16

    Compiler überrumpeln, aber wie?

    Moin Leute,
    eigentlich ist es ja was ganz banales...
    Aber wie könnte man es den Compiler verklickern, dass es schon in Ordnung ist.

    if PRINT_PORT = 0 then Open "comc.6:9600,8,n,1" For Output As #2 ' für BT Ausgabe bei gesteckten Jumper (LO) an Port PC6 Buchse am Board
    if PRINT_PORT = 1 then Open "comb.5:9600,8,n,1" For Output As #2 ' für BT Ausgabe bei gezogenen Jumper (HI) PB5 MOSI in der Buchse!

    Leider meckert der jetzt rum

    Error : device already OPENED

    Hmm, gibt es da eine Lösung?

    Schöne Pfingsten noch
    Ronnie

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Hallo Head Free,

    deine Anweisung PRINT_PORT = 0 beinhaltet die Zuweisung (=) des Wertes 0 an die Variable PRINT_PORT. Ich vermute, dass du das nicht willst.
    Zu erwarten wäre an dieser Stelle eine Gleichheitsprüfung (==) von PRINT_PORT und der Konstante.
    Vielleicht löst sich dein Problem schon dadurch.

  3. #3
    Neuer Benutzer Öfters hier Avatar von Head Free
    Registriert seit
    14.02.2016
    Ort
    Münchberg
    Beiträge
    16
    Servus RoboHolIC,

    Danke für deine Antwort.
    Print_Port ist ein Alias von einen gesteckten Jumper..
    == kennt der Compiler nicht
    Mit der entweder oder kommt der einfach nicht zurecht

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Dann scheinen ja mehrere Sachen im Argen zu liegen, die du vermengst:
    1) Wenn der Compiler PRINT_PORT nicht kennt, dann musst du es ihm eben bekannt machen
    2) Je nachdem, ob PRINT_PORT ein Bit-Bezeichner oder ein Integer ist, muss der Vergleich unterschiedlich geschrieben werden; es bleibt noch das = / ==-Thema
    3) Was ist aus dem "Error : device already OPENED " geworden? Wann kommt diese Fehlermeldung?

    Für welches Zielsystem programmierst du? Und zeig doch auch deinen gesamten Source, dann findet sich vielleicht auch jemand mit mehr Ahnung als ich, der dir weiterhelfen kann.

    Edit:
    Für die Nachwelt:
    Sorry, geistige Vernebelung, ich war komplett auf dem falschen Gleis.
    Geändert von RoboHolIC (20.06.2022 um 19:06 Uhr) Grund: dummdummdidumm

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Zitat Zitat von Head Free Beitrag anzeigen
    Mit der entweder oder kommt der einfach nicht zurecht
    Hallo,
    ich denke, daß es mit der Verwaltung der SW-Kanäle in Bascom zusammenhängt

    nachdem man mit OPEN einen SW-COM Kanal geöffnet hat, hätte ich vermutet, daß man vor einem erneuten Öffnen des gleichen Kanals, den alten zuerst mit CLOSE schließen müßte. Das geht bei meiner Bascom Version 2.0.7.9 aber auch nicht. Nach Schließen mit CLOSE und erneutem Öffnen des gleichen Kanals kommt trotzdem die Fehlermeldung mit "device already OPENED" Scheint mir ein Fehler in Bascom zu sein.

    Man könnte auf beiden Ports jeweils eine SW-UART mit unterschiedlichen Kanalnummern einrichten und später beim PRINT auswählen, auf welchem man ausgibt. Also:

    If Print_Port = 0 then PRINT #2 , "ABC... "
    If Print_Port = 1 then PRINT #3 , "DEF... "


    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  6. #6
    Neuer Benutzer Öfters hier Avatar von Head Free
    Registriert seit
    14.02.2016
    Ort
    Münchberg
    Beiträge
    16
    Searcher,
    du hast das Problem erkannt!
    Mein Gedankengang war halt, das man mit einen Jumper zwei verschiedene Ports zuweisen kann
    und die ganzen print #2 dann halt dorthin laufen.
    Aber ich werde mich halt notgedrungen auf ein "Open" beschränken.
    Aber eigentlich schon doof das der Compiler das nicht gebacken bekommt.

    Schöne Grüsse
    Ronnie

    UPPS. ich hätte besser lesen sollen!
    Ja, Searcher so könnte es auch gehen.
    Da ich aber schon einige Print's ausgebe und dann alles Doppelt gemobbelt werden muss wird der Aufwand denk ich zu gross

Ähnliche Themen

  1. Golem.de guckt: Aber nein, aber ja, aber nein
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 15.09.2012, 09:10
  2. c++ compiler
    Von tornado im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 17.06.2006, 22:13
  3. ASM --> HEY Compiler
    Von lion1984 im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 18.10.2005, 18:18
  4. Compiler
    Von hoopee im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 13.12.2004, 15:30
  5. pic c compiler
    Von prince im Forum Buchempfehlungen
    Antworten: 0
    Letzter Beitrag: 03.10.2004, 18:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests