Hallo,

ich habe folgende Routine zum einlesen des UART. Ausgelöst wird das ganze durch "On URXC Empfangesms".

Code:
'--------
'--- Modemabfrage ---
Empfangesms:

Getline Header                                              ' wait for a modem response

   I = Instr(header , ":")                                  ' look for :
   If I > 0 Then                                            'found it
      Stemp = Left(header , I)
      Select Case Stemp
         Case "+CMTI:" : Showsms Header                     ' we received an SMS

         ' hanle other cases here
      End Select
   End If


Return

'--- daten einlesen ---
Sub Getline(s As String)
  S = ""
  Do
    B = Inkey()
    Select Case B
       Case 0
       Case 13
       Case 10 : If S <> "" Then Exit Do
       Case Else
         S = S + Chr(b)
    End Select
  Loop
End Sub

'--- puffer füllen ---
Sub Flushbuf()
  Waitms 100
  Do
    B = Inkey()
  Loop Until B = 0
End Sub

'--- SMS einlesen  ---
Sub Showsms(s As String )

Wait 1
Print "AT+CMGR=1"
Getline Header
Getline Sms

Smscount = Split(header , Ar(1) , ",")

Handynummer = Mid(ar(2) , 2 , 14)
Datumsms = Mid(ar(4) , 2 , 9)
Zeitsms = Mid(ar(5) , 1 , 8)

Lastnummer = Handynummer
Lastdatum = Datumsms
Lastzeit = Zeitsms
Lastfunktion = Sms

Bcount = Split(sms , Smsa(1) , ",")

Smskunde = Smsa(1)
Smsfunktion = Smsa(2)
Smskontrolle = Smsa(3)


Locate 12 , 2
Lcd "SMS empfangen"

   'Open "sms.txt" For Append As #3
  'Write #3 , Header , Sms
  'Close #3


End Sub
So funktioniert auch alles wie es soll. Sobald ich aber die werte in der datei sms.txt speichern will, dann hängt sich der AVR auf und ich kann nichts mehr machen. Zum speichern benutze ich AVR-DOS. Sobald ich hinter lcd "SMS empfangen" diesen code einfüge, dann hängt sich der AVR auf.

Code:
Open "sms.txt" For Append As #3
Write #3 , Header , Sms
Close #3
Im Hintergrund läuft Timer1 im Sekundentakt. Als Controller benutze ich den Mega644P. Das ändern des HWstack oder Swstack oder framesize hat nichts gebracht.

Ich komme einfach nicht weiter und vielleicht kann mir ja jemand von Euch helfen, mein problem zu lösen.

danke
Kay