Na da hab ich ja was angezettelt..... 
Alllssssoooo:
beide haben recht, sag ich mal so. In meiner Situation funktioniert das hervorragend. Der Vorteil eines Overlay ist, dass ich nicht extra die Werte aus dem Ringbuffer in eine Stringvariable einlesen muss.
Ich weiß wann und was in den Buffer gelegt wird und das ist mein Vorteil. Über
Code:
Serial1bytereceived:
Pushall
If Gsm_ini = 1 Then
Incr Byte_in_count
If Byte_in_count = 1 Then
Enable Timer0
Start Timer0
End If
Timer_count = 0
End If
Popall
Return
den Serial1bytereceived Interrupt bekomme ich mit, wann ein Zeichen in den Buffer gelegt wird. Dann starte ich einen Timer, über den ich dann das Ende abwarte. Also wenn kein Zeichen mehr rein kommt, dann läuft mein Timer über, setzt mir eine Variable und in einer Do - Loop lese ich dann den Buffer ein, setze den Counter wieder auf Null und leere den Buffer. Hier hatte ich das Problem, dass ich mit dem Overlay immer alle Zeichen im Buffer eingelesen habe und das wollte ich nicht.
Es geht hierbei um Einlesen von bestimmten Zeichen wie z.Bsp. das Eintreffen einer SMS oder das Klingeln meines GSM-Modems. Da ich ja das "Absenderhandy" steuere, weiß ich wie oft ich ein Handlung mache wie z.Bsp. das Klingeln oder das Senden einer SMS...
Wenn wir schon einmal dabei sind, in der Serial1bytereceived Interruptroutine sollte ich laut der Hilfe vorher die Register sichern
ush/popAll. Ich weiß nun nicht genau warum dies gemacht werden soll und ob es nötig wäre. Kann mir jemand von Euch dies erklären?
Na gut, bin auf Antworten gespannt
und wünsch ein schönen Abend!
Lesezeichen