www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom Unterprogramm Compilieren


Autor: Jodi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe mal wieder ein Problem mit Bascom. Ich verwende ein Main-Programm 
und darunter verschiedene Unterprogramme (z.B. UP Handfunktion). Nun 
wird bei den verschiedenen Unterprogrammen etwas im LCD Display 
angezeigt. Ich möchte nun mit der #If Routine einen Debug-Modus 
einführen und somit auf den LCD Display entsprechend andere Dinge 
anzeigen lassen. Ein Beispiel:

Im Normalbetrieb wird bei Handbetrieb auf dem Display " Handbetrieb EIN" 
ausgegeben. Hinter diesem Handbetrieb steckt aber im Programm eine 
Betriebsart, die als Zahl behandelt wird. Nun möchte ich, wenn der 
Debug-Modus bei der Compilierung angewählt ist, dass im Display bei 
Handfunktion zu lesen steht "Betriebsart = 105".

So, ich habe bereits eine Variable angelegt mit Const Debuggen = 0/1. 
Mit #If Debuggen = 0 frage ich das ganze ab und funktioniert auch. Nur 
im Unterprogramm Handbetrieb, kann ich die Konstante Debuggen nicht 
abfragen, da sie dort nicht bekannt ist. Auch eine Übergabe mit "Declare 
Sub Handeingabe (const Debuggen as byte)" funktioniert nicht. Was muss 
ich tun, damit diese Konstante Global verfügbar ist?

Danke für eure Hilfe und ich hoffe ich konnte mein Problem einigermaßen 
erläutern.

Gruß Jodi

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst die mit Const definierten Konstanten wie Variablen auswerten 
(aber nicht ändern).

...

Autor: mue-c (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Konstanten sind immer global verfügbar, aber erst ab der 
Programmzeile, in der du sie definierst.
Du hast wahrscheinlich die Definition des Unterprogramms in deinem Code 
vor der Definition der Konstanten stehen. BASCOM ist da etwas 
empfindlich. Du kannst nichts benutzen, bevor es definiert wurde.

Autor: Jodi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mue-c

VIELEN DANK!!! Das war die Lösung, ich habe das $include VOR der Const 
Definition stehen gehabt. Nun funktioniert es! Tausend Dank!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.