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?
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
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.