Ich habe es mal getestet mit einem ATMega644 und Bascom 1.11.9.3 und hatte folgende Ergebnisse:
das 1.
! = 129 (mit =Const)
? <> 129 (mit =Const)
das 2.
! = 129 (mit =129)
? <> 129 (mit =129)
Mit interne Pullups:
11110011?? <--Hierfür habe ich keine erklärung das beim ersten auslesen nicht &HFF kommt
11111111??
10000001!!
10000001!!
Code:
Config Portb = Input
Inputport Alias Pinb
Portb = &B11111111
const buffer = 129
dim inputbuffer as byte
Inputbuffer = Inputport
Print Bin(inputbuffer);
if inputbuffer = buffer then
Print "!";
else
Print "?";
endif
If Inputbuffer = 129 Then
Print "!"
else
Print "?"
endif
Ohne interne Pullups:
11100011?? <-- Undefinierter zustand
10100000?? <-- Undefinierter zustand
11110011?? <-- Undefinierter zustand
10000001!! <-- Alle auf Ground oder 5V
10000001!! <-- Alle auf Ground oder 5V
Code:
Config Portb = Input
Inputport Alias Pinb
Portb = &B00000000
const buffer = 129
dim inputbuffer as byte
Inputbuffer = Inputport
Print Bin(inputbuffer);
if inputbuffer = buffer then
Print "!";
else
Print "?";
endif
If Inputbuffer = 129 Then
Print "!"
else
Print "?"
endif
versuch es mal mit den Pullups oder so, vielleicht hilft das? und lass dir auch den Wert ausgeben
Lesezeichen