Bug in Bascom AVR

Gast #18470
Lesenswert?

Hallo Leute

Hab ein Problem mit Bascom AVR, evt.
ein BUG ?, aber wahrscheinlich bin ich nur zu doof :-(

Bei folgenden Programm
Es ist ein Teil aus einen größren Projekt
der für die Mittelwertbildung eines Meßsignals
zuständig ist. In ein Array wird wird mit jedem
neuen Wert die älteren Messwerte nach hinten verschoben
so das der älteste Messwert dann rausgeschissen wird
(gleitende Mittelwertbildung)
Hab hier mal zum testen einen festen Wert von
20000 genommen. Beim ersten durchlauf (im Simulator)der
großen Loop funktioniert alles noch besten, dann
wird aber plötzlich nach dem Incrementieren von X
x=0 ( war vorher 15 ) Ist aber doch als Byte
deklariert also muß doch bis 255 gehen oder ?
auch die anderen Variablen verhalten sich nicht
so, wie sie sollen.


Hier mal das Prog:
---------------------------
dim buffer(16) as Word
dim Value as Word
dim x as byte
dim Temp as word
dim Summe as long



do
   Value = 20000

   for x = 16 to 2 step -1
      buffer(x) = buffer(x - 1)
   next

   buffer(1) = value

   summe = 0
   for x = 1 to 16
      summe = summe + buffer(x)
   next

   Value = summe / 16

   print Value
loop

-----
Die Bascom Version ist 1.11.6.7 ,
andere Chips oder Speichereinstellungen nützen
auch nichts.
Woran liegts ?!
besten dank schon mal

-Falko

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren