Bei 9600 mit 8MHz gibt es da keine Probleme. Wenn die Ausgänge sich anders verhalten, wenn UART läuft, dann ist das ein anderes Problem.
Das überlasse ich dann anderen, bin erst wieder am WE am PC.
Bei 9600 mit 8MHz gibt es da keine Probleme. Wenn die Ausgänge sich anders verhalten, wenn UART läuft, dann ist das ein anderes Problem.
Das überlasse ich dann anderen, bin erst wieder am WE am PC.
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Hallo demmy,
bin ich richtig in der Annahme du hast kein RS232 Pegelwandler nachgeschaltet?
Wenn nicht kann die Fehlersuche schon aufwendiger werden.
Wenn ja die einzelnen Platinen mit PC-COM Terminal lesen. Nun solltest du sehen ob UART fehlerfrei funktionier.
Hinweis: Für solche Tests habe ich ein kleines RS232 Modul gebaut. Ist mittlerweile für Software Überprüfung unentbehrlich geworden.
Vermute aber(da kein Code) es liegt an Enable/Disable Interrupts.
Mit
$baud = 9600
$hwstack = 32
$swstack = 32
$framesize = 32
Bist du erst mal auf der sicheren Seite.
Mit freundlichen Grüßen
Fred
Hallo zusammen,
ich wollte euch mal eben schnell auf den aktuellen Stand bringen. Ich habe den Fehler gefunden und ich konnte es selber nicht glauben als ich es gesehen habe.
Ich habe tatsächlich bei einem UART interrupt vergessen die Register zu sichern. Kein wunder das der µC da irgendwo rumgesprungen ist sobald was über die Serielle riengekommen ist.
In Bascom gibt es die Möglichkeit bei der Deklaration der Interruptverzweigung mit anzugeben ob beim Springen in das Interrupt die Register gesichert werden sollen.
Bsp.:
On Int0 Label2 Nosave 'jump to label2 on INT0
Der Zusatz "Nosave" war das Problem. Hier die Erklärung aus der Bascom Hilfe.
When you specify NOSAVE, no registers are saved and restored in the interrupt routine. So when you use this option make sure to save and restore all used registers.
Ich habe das Nosave im Code entfernt und jetzt läuft alles einwandfrei. Das war wohl ein klassicher copy / paste Fehler von mir.
Aber vielen vielen danke an alle die sich mit dem Problem beschäftigt haben.![]()
Lesezeichen