avbryta avbrott
Postat: 12 februari 2016, 08:03:12
På flera ställen i databladet för pic 16f1829 står det:
för att slå från interrupt.
Om man läser An576 så förespråkas en metod:
An576 är sen 1997 och gäller pic16Cxxx.
Det är när ett interrupt inträffar precis efter att instruktionen
BCF INTCON, GIE ;Disable INTs påbörjats.
Då kommer instruktionen först göras klar med slå från GIE och sen utförs
interrupt-rutinen och den avslutar med att slå till GIE, sen utförs nästa
instruktion efter BCF INTCON, GIE.
Är det inget "problem" längre med de nya 16F1xxxx ?
Kod: Markera allt
BCF INTCON, GIE ;Disable INTs
Om man läser An576 så förespråkas en metod:
Kod: Markera allt
LOOP BCF INTCON, GIE ; Disable Global Interrupt
BTFSC INTCON, GIE ; Global Interrupt Disabled?
GOTO LOOP ; NO, try again
: ; YES, continue with program flow
Det är när ett interrupt inträffar precis efter att instruktionen
BCF INTCON, GIE ;Disable INTs påbörjats.
Då kommer instruktionen först göras klar med slå från GIE och sen utförs
interrupt-rutinen och den avslutar med att slå till GIE, sen utförs nästa
instruktion efter BCF INTCON, GIE.
Är det inget "problem" längre med de nya 16F1xxxx ?