hi,
hier ist mein kompletter Code :
Code:
$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600
$eeprom
Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.1 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Cls
Const Keys = 5
Dim I As Byte
Dim Key As Byte
Dim Text As String * 10
Dim A As String * 10
Dim B As String * 10
Dim C As String * 10
Dim A1 As String * 10
Config Porta = Input
Config Serialin = Buffered , Size = 10
Enable Interrupts
Resettaster Alias Pina.3
Leuchte1 Alias Pina.0
Leuchte2 Alias Pina.1
Leuchte3 Alias Pina.2
Kommunikation Alias Pina.4
Porta = 255
Declare Sub Firststart
Declare Sub Nurdisplay
Declare Sub Kommunikation2
Declare Sub Speichern
Call Firststart
Do
For I = 1 To Keys
Key = I
Select Case Key
Case 1 : Debounce Leuchte1 , 0 , Display_key , Sub
Case 2 : Debounce Leuchte2 , 0 , Display_key , Sub
Case 3 : Debounce Leuchte3 , 0 , Display_key , Sub
Case 4 : Debounce Resettaster , 0 , Display_key , Sub
Case 5 : Debounce Kommunikation , 0 , Display_key , Sub
End Select
Next
Loop
End
Sub Firststart
Locate 1 , 1
Lcd "..: Home SPS :.."
Wait 1
Locate 2 , 1
Lcd "--Checking RAM--"
Wait 1
Locate 2 , 1
Lcd "--Checking ROM--"
Wait 1
Locate 2 , 1
Lcd "--System Ready--"
Wait 1
Cls
Locate 1 , 1
Lcd "..: Home SPS :.."
End Sub
Sub Nurdisplay
Cls
Locate 1 , 1
Lcd "..: Home SPS :.."
End Sub
Display_key:
Locate 2 , 1
If Key = 4 Then
Locate 2 , 1
Lcd " Reset"
Wait 1
Goto &H0X0000
Else
If Key = 1 Then
Readeeprom Text , 1
Locate 2 , 1
Lcd Text
Wait 1
Else
If Key = 2 Then
Readeeprom B , 20
Locate 2 , 1
Lcd B
Wait 1
Else
If Key = 3 Then
Readeeprom C , 40
Locate 2 , 1
Lcd C
Wait 1
Else
If Key = 5 Then
Goto Kommunikation2
Else
End If
End If
End If
End If
End If
Wait 1
Call Nurdisplay
Return
Sub Kommunikation2
Locate 2 , 1
Lcd "PC Konfigurator"
Text = Inkey()
Inputbin Text
Waitms 100
Writeeeprom Text , 0
Wait 1
Goto &H0X0000
'Call Nurdisplay
End Sub
das speichern geht. wenn ich hingehe und speichere einen String mit 10 Zeichen und diesen dann nach dem reset auslese, dann stimmt alles. speichere ich danach dann einen String mit 5 Zeichen, dann liest er nach dem Reset diese 5 Zeichen + die letzten 5 Zeichen vom letzten String.
Das soll er nicht machen. er soll mir nur die 5 Zeichen vom letzten empfangenen String.
mfg Kay
Lesezeichen