16.4 PPS Lock
The PPS includes a mode in which all input and output selections can be locked to prevent inadvertent changes. PPS selections are locked by setting the PPSLOCKED bit of the PPSLOCK register. Setting and clearing this bit requires a special sequence as an extra precaution against inadvertent changes. Examples of setting and clearing the PPSLOCKED bit are shown in the following examples.
PPS Lock Sequence
; suspend interrupts
BCF INTCON,GIE
BANKSEL PPSLOCK ; set bank
; required sequence, next 5 instructions
MOVLW 0x55
MOVWF PPSLOCK
MOVLW 0xAA
MOVWF PPSLOCK
; Set PPSLOCKED bit to disable writes or
BSF PPSLOCK,PPSLOCKED
; restore interrupts
BSF INTCON,GIE
PPS Unlock Sequence
; suspend interrupts
BCF INTCON,GIE
BANKSEL PPSLOCK ; set bank
; required sequence, next 5 instructions
MOVLW 0x55
MOVWF PPSLOCK
MOVLW 0xAA
MOVWF PPSLOCK
; Clear PPSLOCKED bit to enable writes
BCF PPSLOCK,PPSLOCKED
; restore interrupts
BSF INTCON,GIE
Note:
- The PPSLOCK bit can only be set or cleared after the unlock sequence shown above.
- If PPS1WAY =
1, the PPSLOCK bit cannot be cleared after it has been set.
