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