AT90CAN64 löst Reset aus

OP #3072311
Lesenswert?
• ▲
▼
Hallo zusammen

ich habe ein riesen Problem und komme nicht weiter.
In meinem Code (siehe Anhang) lese ich diverse Schalter ein und steuere 
ein LCD Display und LEDs an.

Nun habe ich ein Problem mit einem Schalter und zwar:

Der Schalter an PortD Pin0 (im Code heisst er "minus") löst mir immer 
wieder einen Reset aus und mein Code sprint wieder an den Anfang der 
Main Routine. Ich weiss nicht warum dies passiert ich lese den Schalter 
gleich wie viele andere auch ein und bei den anderen passiert dies 
nicht!!

Die SPeisung vom MC sakt nicht ab das habe ic kontrolliert und auch am 
RESET Pin ist kein Reset zu erkennen, was könnte dies also sein?
Angehängte Dateien:
Gast #3072827
Lesenswert?
• ▲
▼
>Der Schalter an PortD Pin0 (im Code heisst er "minus") löst mir immer
>wieder einen Reset aus

Wenn du die Routine zum lesen mal rausnimmst und immer
noch Reset ausgelöst wird hast du ein Hardwareproblem.

Schau dir mal diese Stelle genauer an:
Ich hab da zur besseren Übersicht ein bisschen was weggelöscht.
1
    case 7: {
2
          if (Minus)
3
          {
4
            MotorPowerFr--;
5
          }
6
          uint8_t i=0;
7
          while ( i < MotorPowerFr)
8
          {
9
            lcd_data(0b11111111);
10
            i++;
11
          }

Was ist wenn  MotorPowerFr 0 ist und du eins abziehst?
Dann wird es 0xFF und du machst 255 mal lcd_data().
Evtl. lang genug für einen Watchdog Reset.
Das ganze dann entsprechend auch für MotorPowerFr++;
Und die anderen Stellen wo du es genauso machst.
OP #3072855
Lesenswert?
• ▲
▼
stimmt das habe ich nicht abgefangen müsste man sicher noch machen. 
Aber, der Reset wurde auch ausgelöst wenn minus noch nicht 0 war habe 
dies kontrolliert.

Hardwarefehler wäre komisch da ich noch 9 andere Taster genau gleich 
einlese und nirgends Probleme habe ausser bei diesem. Zudem könnte ja 
ein Hardwareproblem eigentlich nur dazu führen, dass die 
Versorgungsspannung zu tief kommt und dadurch ein Reset ausgeführt wird, 
dies habe ich jedoch mit dem Oszi kontrolliert.
Gast #3072868
Lesenswert?
• ▲
▼
>Hardwarefehler wäre komisch da ich noch 9 andere Taster genau gleich
>einlese und nirgends Probleme habe ausser bei diesem. Zudem könnte ja
>ein Hardwareproblem eigentlich nur dazu führen, dass die
>Versorgungsspannung zu tief kommt und dadurch ein Reset ausgeführt wird,
>dies habe ich jedoch mit dem Oszi kontrolliert.

Es reicht ein sehr kurzer Einbruch. Vieleicht hast du den nicht
erfasst. Also Routine zum abfragen des Tasters rausnehmen und schauen
ob es immer noch zum Reset kommt. Das ist jetzt deine Aufgabe.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.