Forum: Mikrocontroller und Digitale Elektronik BASCOM Locale Variable hat nach Initialisierung bereits einen Inhalt


von dani (Gast)


Lesenswert?

Hallo, bei meinem Prog. tritt folgendes Phänomen auf:
Wenn ich die SUB-Routine aus dem laufenden Programm aufrufe, gibt Print 
"Text";text bereits einen Wert aus. Woran kann das liegen?

$regfile = "m8def.dat"                                      'AtMega8
$crystal = 4915000                                          '4,915MHz
$baud = 19200                                               '19200Baud

$hwstack = 100
$swstack = 100
$framesize = 400

Declare Sub text_auswerten()

do

loop

end

...

Sub text_auswerten()
   Local text As String * 20
   Print "Text: " ; text
end sub


danke schonmal für eure mithilfe, dani

von Karl H. (kbuchegg)


Lesenswert?

Lokale Variablen werden von BASCOM nicht initialisiert. D.h. da steht 
irgendein Wert drinnen. Wenn du einen speziellen Wert haben möchtest, 
musst du dafür sorgen.

So sagt es zumindest die BASCOM Hilfe zu 'LOCAL'.


(Jede Variable hat immer irgendeinen Wert. Denn die Variable existiert 
ja in einer (oder mehreren) Speicherzellen. Die hat aber immer irgendein 
Bitmuster, welches einen Wert darstellt.

von dani (Gast)


Lesenswert?

Ich hab mir die Hilfe zwar durchgelesen, aber das so nicht explizit 
gefunden.
Danke für die schnelle Antwort,

dani

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.