Forums Neueste Beiträge
 

Merkwürdiges Verhalten beim Microcontroller (freescale HCS12XDP512)

23/06/2008 - 16:21 von onlinefloh | Report spam
Tach NG,

ich zerbrech' mir grad den Schàdel über leicht merkwürdiges Verhalten
des hier verwendeten Microcontrollers, nem HCS12XDP512 von freescale.

In dem hier laufenden Programm nutze ich ein paar boole'sche Variablen
und auch ein paar Integers als Bitfelder. Die Entwicklungsumgebung
definiert bools simpel als char, und gibt TRUE und FALSE die Werte 1 und
0, genau so wie man es erwartet. Schau ich mir den Kram aber mal im
Debugger an, so tauchen da stàndig auch andere Werte auf, was die
Abfrage (x == TRUE) bzw. (X == FALSE) komplett ad absurdum führt.
Besonders hàufig treten (dezimale) Werte auf wie 212, 128, aber auch
nahezu alles andere wurde schon gesehen.

Ähnliches passiert mit meinen Bitfeldern: eigentlich werden nur die
unteren 4 bit eines 8-Bit-Integers verwendet, setzten per "x ODER Bit",
Löschen per "x UND ~Bit". Soweit alles schick, bis ich das Programm
anwerfe...
Mir fàllt überhaupt keine Möglichkeit ein, mit den 4 niederwertigsten
Bits Zahlen größer 15 darzustellen, aber genau das passiert hier am
laufenden Band.

Habe bereits mehrfach erfolglos gesucht, ob nicht vielleicht irgendwo
statt den logischen Operationen ne Addition oder àhnlich bescheuerte
Dinge durchgerutscht sind, habe aber nichts dergleichen gefunden.

Hat jemand von Euch vielleicht ne Idee?

Gruß,
Florian
 

Lesen sie die antworten

#1 Falk Willberg
23/06/2008 - 16:32 | Warnen spam
Florian E. Teply schrieb:
Tach NG,


Tach FET

ich zerbrech' mir grad den Schàdel über leicht merkwürdiges Verhalten
des hier verwendeten Microcontrollers, nem HCS12XDP512 von freescale.



...

Ähnliches passiert mit meinen Bitfeldern: eigentlich werden nur die
unteren 4 bit eines 8-Bit-Integers verwendet, setzten per "x ODER Bit",
Löschen per "x UND ~Bit". Soweit alles schick, bis ich das Programm
anwerfe...
Mir fàllt überhaupt keine Möglichkeit ein, mit den 4 niederwertigsten
Bits Zahlen größer 15 darzustellen, aber genau das passiert hier am
laufenden Band.



Arbeitest Du irgendwo mit Zeigern (SP ist auch einer)? Ein kleiner
Fehler kann die "interessantesten" Effekte haben.

Falk

Ähnliche fragen