Guten Morgen zusammen,
also die Spannung werde ich heute Abend nochmal mit dem Oszilloskop genau messen und euch dann berichten. Grundsätzlich ist es so, das die Spannung von einer Platine zur anderen weitergegeben wird. Beide Platinen hängen also an der gleichen Spannungsquelle und haben die gleiche Masse. Die Masseflächen auf den Platinen sind Polygone-Flächen die Eagle berechnet hat, es sollte also keine Masseschleifen geben.
Blockkondensatoren sind auch überall vorhanden. Die Platine kann ich euch auch heute Abend mal per Foto zeigen.
Was den Stack angeht, daran habe ich auch schon gedacht und habe die Werte im Programm mal übertrieben hochgesetzt. Den HWstack, SWstack und Frame jeweils 200. Das sollte mehr als genug Platz sein.
Hab ich irgendwie eine Möglichkeit den Stack zu diagnostizieren um zu sehen was dort abgeht?
Wie kann ich das überprüfen? Kann das der Fall sein wenn Timer interrupts und UART interrupts ineinander greifen? Wenn Ja, wie kann ich das umschiffen?2. Wenn die ISR nicht richtig beendet wird, weil z.B. Interrupts zu früh wieder freigegeben werden, können sich die ISR auf den Stack schachteln, was auch zu einem Überlauf führen kann.
Was meinst du mit nicht initialisierten Zeigern?3. Mit Bascom kenne ich mich nicht so aus, aber bei C ist ein typischer Fehler mit nicht initialisierten Zeigern zu arbeiten oder über Array-Grenzen hinaus zu schreiben. Dann wird irgendwie der Stack zerschossen. Besonders wenn dann eine Rücksprung-Adresse überschrieben wird, macht das Programm unerwartete Dinge!
Das Programm gibt es ebenfalls heute abend.
Also wenn ich das richtig verstanden habe, von einem Baudratenquarz haltet Ihr nichts? Nicht das da aufgrund der für die Baudrate "ungeraden" Quarzfrequenz was durcheinander kommt!?
Lesezeichen