Pluto25 schrieb:
Die 115 sind gängig , 128k gehen auch bei 256k gibt der Bascom Output auf,
9600 Baud bis 38400 Baud sollte doch auch reichen.
Pluto25 schrieb:
Immer noch die Err Auswertung. Es soll dann kommen wenn ein gerät nicht vorhanden ist oder nicht richtig reagiert jedoch nicht solange alles stimmt.
Aber es wird ein Grund geben, wenn das Flag gesetzt wird.
Vielleicht wird das Register irgendwo (versehentlich) benutzt?
Das Err-Flag ist ja nichts anderes an Bit 2 und Register r6.
Vielleicht verpasst das Programm aber wegen Laufzeiten das Ack-Flag.
Pluto25 schrieb:
Der Code Explorer ist soweit fröhlich. Er meldet nur das altbekannte "Out of Bonds"
Den Fehler bekommst du weg, wenn du bei bei den Arrays _base mit angibst.
Also anstatt
Loadadr Ubuf , X
solltest du schreiben
Loadadr Ubuf(_base) , X
_Base ist der 1. Index vom Array. Egal ob das Array bei Index 1 oder bei 0 beginnt.
Oder schreibe anstatt
Dim C As Byte At Ubuf Overlay
so:
Dim C As Byte At Ubuf(_base) Overlay
Mal einen gut gemeinten Tip:
Schreibe mal den Code sauber. Damit meine ich,
- Die Stacks ordentlich angeben (nicht überlappend und jeder ausreichend groß)
- Alle verwendeten Register in der ISR sichern und wieder herstellen.
- Keine Rückgabewerte von der ISR per Register, sondern über eine globale Variable.
- Korrigiere die Array-Angaben mit _base, dass keine Fehler mehr im Code-Explorer angezeigt werden.
Wenn jetzt der Tiny zu klein werden sollte wegen zu geringem SRAM, dann nimm was größeres, bis du die Fehlerursache eindeutig gefunden und beseitigt hast.
Den Code dann bitte auch mal Posten.
Dann kannst du versuchen, schrittweise wieder zurück zu gehen.
Damit meine ich jetzt eigentlich nur den Stack verkleinern. Überlappungen vermeiden.
Vielleicht muss es ja auch nicht unbedingt der Tiny13 sein, oder?