Hi,
ich meine, auch einen Bug in der neuesten Vollversion (1.11.9.3) gefunden zu haben.
Das Problem tritt beim Einlesen und Vergleichen des Wertes eines kompletten Ports auf (8 Bit).
Wenn ich habe:
Code:
config PORTB = input
inputport alias PINB
const buffer = 129
dim inputbuffer as byte
inputbuffer = inputport
if inputbuffer = buffer then
[...]
else
[...]
endif
Hier wird der else-Zweig der if-Selektion ausgeführt, obwohl am Port nachweislich der Wert 129 anliegt.
Wenn ich das Programm minimal abändere:
Code:
config PORTB = input
inputport alias PINB
const buffer = 129
dim inputbuffer as byte
inputbuffer = inputport
if inputbuffer = 129 then
[...]
else
[...]
endif
... wird allerdings der else-Zweig ausgelassen, sondern die if-Bedingung als 'wahr' beurteilt.
Hat das vielleicht sonst jemand beobachten können?
Ich werde dann noch eine Mail an MCS richten.
Viele Grüße
ikarus_177
Lesezeichen