English
Language : 

PIC24FJ16MC101_12 Datasheet, PDF (158/350 Pages) Microchip Technology – 16-bit Microcontrollers (up to 32 KB Flash and 2 KB SRAM)
PIC24FJ16MC101/102 AND PIC24FJ32MC101/102/104
EXAMPLE 15-1: ASSEMBLY CODE EXAMPLE FOR WRITE-PROTECTED REGISTER UNLOCK
AND FAULT CLEARING SEQUENCE
; FLTA1 pin must be pulled high externally in order to clear and disable the fault
; Writing to P1FLTBCON register requires unlock sequence
mov #0xabcd,w10
mov #0x4321,w11
mov #0x0000,w0
mov w10, PWM1KEY
mov w11, PWM1KEY
mov w0,P1FLTACON
; Load first unlock key to w10 register
; Load second unlock key to w11 register
; Load desired value of P1FLTACON register in w0
; Write first unlock key to PWM1KEY register
; Write second unlock key to PWM1KEY register
; Write desired value to P1FLTACON register
; FLTB1 pin must be pulled high externally in order to clear and disable the fault
; Writing to P1FLTBCON register requires unlock sequence
mov #0xabcd,w10
mov #0x4321,w11
mov #0x0000,w0
mov w10, PWM1KEY
mov w11, PWM1KEY
mov w0,P1FLTBCON
; Load first unlock key to w10 register
; Load second unlock key to w11 register
; Load desired value of P1FLTBCON register in w0
; Write first unlock key to PWM1KEY register
; Write second unlock key to PWM1KEY register
; Write desired value to P1FLTBCON register
; Enable all PWMs using PWM1CON1 register
; Writing to PWM1CON1 register requires unlock sequence
mov #0xabcd,w10
mov #0x4321,w11
mov #0x0077,w0
mov w10, PWM1KEY
mov w11, PWM1KEY
mov w0,PWM1CON1
; Load first unlock key to w10 register
; Load second unlock key to w11 register
; Load desired value of PWM1CON1 register in w0
; Write first unlock key to PWM1KEY register
; Write second unlock key to PWM1KEY register
; Write desired value to PWM1CON1 register
EXAMPLE 15-2: C CODE EXAMPLE FOR WRITE-PROTECTED REGISTER UNLOCK AND FAULT
CLEARING SEQUENCE
// FLTA1 pin must be pulled high externally in order to clear and disable the fault
// Writing to P1FLTACON register requires unlock sequence
// Use builtin function to write 0x0000 to P1FLTACON register
__builtin_write_PWMSFR(&P1FLTACON, 0x0000, &PWM1KEY);
// FLTB1 pin must be pulled high externally in order to clear and disable the fault
// Writing to P1FLTBCON register requires unlock sequence
// Use builtin function to write 0x0000 to P1FLTBCON register
__builtin_write_PWMSFR(&P1FLTBCON, 0x0000, &PWM1KEY);
// Enable all PWMs using PWM1CON1 register
// Writing to PWM1CON1 register requires unlock sequence
// Use builtin function to write 0x0077 to PWM1CON1 register
__builtin_write_PWMSFR(&PWM1CON1, 0x0077, &PWM1KEY);
DS39997C-page 158
Preliminary
© 2011-2012 Microchip Technology Inc.