PIC_Interrupt

Gast #157820
Lesenswert?
• ▲
▼
Hallo,

ich habe in der neuen Version 7.10 von MPLAB einen fehler im Simulator
festgestellt. - Interruptflags lassen sich nicht zurücksetzen - was
jedoch in Version 6.70 geht

Dann ist mir noch etwas passiert: Führe ich das Programm auf einem
PIC16F84A aus, wobei der Interrupt für Flankenwechsel an Ports B4-B7
aktiviert ist, wird die Interruptroutine nicht einmal je Wechsel
ausgeführt. Stattdessen wird sie bei Low ständig ausgeführt und bei
High nicht mehr. Es ist aber davon abhängig an welcher Stelle der Port
mit Masse verbunden ist. Könnte es sein, dass dieser Port sehr
empfindlich ist, was die Interruptauslösung angeht und er daher auf
jede Störstrahlung reagiert. Es scheint auch davon abhängig zu sien ob
die internen Pullups aktiviert sind.
Oder woran liegt das? Wie kann ich es beheben? Tritt das bei anderen
PICs auch auf? Oder ist nur dieser PIC kaputtgegangen?
Gast #157822
Lesenswert?
• ▲
▼
Hallo Stefan,

Störstrahlung kannst Du ausschließen. Dieser PIC ist sehr resistent
gegen derlei Probleme. Poste doch mal den Code, sieht für mich aus als
hättest Du das I Flag nicht zurückgesetzt. Schau dir noch mal Deine I
Routine an. Wie sieht die Beschaltung der Pins aus? Sind Spikes
ausgeschlossen usw.?

MfG Manfred Glahe
Gast #157823
Lesenswert?
• ▲
▼
Ich vermute mal, Du hast offene Anschlüsse.

Das mag kein µC gerne, völlig egal, ob PIC oder nicht PIC.
Im günstigsten Fall hast Du nur eine erhöhte Stromaufnahme.


Ich setze daher bei sämtlichen IO-Pins, die ich nicht benutze, den
internen Pull-Up. Damit sind sie dann auf definiertem High-Potential.

Zu beachten ist aber, daß manche Sonderfunktionen den Pull-Up außer
Kraft setzen. Also am besten kontrollieren, das jeder freie Pin +VCC
hat.


Peter
Gast #157824
Lesenswert?
• ▲
▼
Hallo Stefan,

was mir gerade noch eingefallen ist zu Deinem Problem, Read or Write
will end mismatch condition. Da Du die internen PU gesetzt hast könnte
es sich auch um den Anschluß zur Interruptquelle handeln. Hast Du dort
auch die Masse verbunden und nicht nur den Portpin beschaltet? Du
solltest doch mal die Beschaltung und das Codesegment posten.

MfG Manfred Glahe

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.