paul-stanley
07.03.2008, 20:50
hallo zusammen,
nachdem ich nun über 1000 zeilen spagetticode reingehackt habe, stehe ich vor einem problem und ich weis absolut nicht an was das liegt.
ich muss meine ausgangszustände im eeprom sichern und nach dem neustart wieder einlesen. das geht auch soweit. da man offensichtlich kein bit sondern nur ein byte im eeprom ablegen kann, hab ich so angefangen:
Dim Test1 As Byte
$eeprom
Label1:
Data 1
$data
in der variable test soll eigentlich nur ne 0 oder ne 1 hinterlegt werden.
diesen zustand möchte ich nach dem neustart wieder einem ausgang zuordnen. Und da fängt das problem an. Wenn ich von Hand PINA.1=0 setze, leuchtet mein Ausgang (da gegen Masse geschaltet).
Wenn ich allerdings PINA.1= Test1 schreibe, gehen alle Ausgänge an. Auch die Logik der Abfrage läuft genau anders rum.
Komme hier nicht mehr weiter.
Do
Pina.1 = Test1
Convert_strg = Str(test1)
Call Lcd_print(convert_strg , 5 , 70 , 2 , 1 , 1 , Yellow , Black)
Debounce Ping.0 , 0 , Schalter1 , Sub
Debounce Pind.7 , 0 , Eepromschreiben , Sub
If Pina.1 = 0 Then
Call Lcd_print( " " , 128 , 1 , 2 , 1 , 1 , White , Black)
Call Lcd_print( "Laut" , 138 , 1 , 2 , 1 , 1 , White , Black)
Test1 = 0
End If
If Pina.1 = 1 Then
Call Lcd_print( "Leise" , 128 , 1 , 2 , 1 , 1 , White , Black)
Test1 = 1
End If
Loop
Schalter1:
Toggle Porta.1
Return
Eepromschreiben:
Writeeeprom Test1 , Label1
Return
nachdem ich nun über 1000 zeilen spagetticode reingehackt habe, stehe ich vor einem problem und ich weis absolut nicht an was das liegt.
ich muss meine ausgangszustände im eeprom sichern und nach dem neustart wieder einlesen. das geht auch soweit. da man offensichtlich kein bit sondern nur ein byte im eeprom ablegen kann, hab ich so angefangen:
Dim Test1 As Byte
$eeprom
Label1:
Data 1
$data
in der variable test soll eigentlich nur ne 0 oder ne 1 hinterlegt werden.
diesen zustand möchte ich nach dem neustart wieder einem ausgang zuordnen. Und da fängt das problem an. Wenn ich von Hand PINA.1=0 setze, leuchtet mein Ausgang (da gegen Masse geschaltet).
Wenn ich allerdings PINA.1= Test1 schreibe, gehen alle Ausgänge an. Auch die Logik der Abfrage läuft genau anders rum.
Komme hier nicht mehr weiter.
Do
Pina.1 = Test1
Convert_strg = Str(test1)
Call Lcd_print(convert_strg , 5 , 70 , 2 , 1 , 1 , Yellow , Black)
Debounce Ping.0 , 0 , Schalter1 , Sub
Debounce Pind.7 , 0 , Eepromschreiben , Sub
If Pina.1 = 0 Then
Call Lcd_print( " " , 128 , 1 , 2 , 1 , 1 , White , Black)
Call Lcd_print( "Laut" , 138 , 1 , 2 , 1 , 1 , White , Black)
Test1 = 0
End If
If Pina.1 = 1 Then
Call Lcd_print( "Leise" , 128 , 1 , 2 , 1 , 1 , White , Black)
Test1 = 1
End If
Loop
Schalter1:
Toggle Porta.1
Return
Eepromschreiben:
Writeeeprom Test1 , Label1
Return