Buenas tardes:
Estoy programando sobre dspic30f2010 pero me ocurre un problema con las interrupciones por tiempo. Es decir, quiero generar una interrupción cada segundo para generar el parpadeo de un led.
El código que he generado es el siguiente:
.include "p30f2010.inc"
config __FOSC, 0xC705
; B15=FWDTEN B5:4=FWPSA1:0 B3:0=FWPSB3:0
config __FWDT, 0x803F
; B15=MCLREN B7=BOREN B5:4=BORV1:0 B3:0=FPWRT3:0
config __FBORPOR, 0x87B3
.section .data, address(0x0900)
seg: .word 0x0064
.section .ndata
;.align WORD
dato_nuevo: .hword 0x0804
dato_nuevo1: .hword 0x806
.section .text
.global __ADCInterrupt
__ADCInterrupt:
push W0
;push VAR1
com LATB
;pop VAR1
pop W0
BCLR IFS0,#T1IF
;com LATB
RETFIE
.global _main
.text
_main:
clr T1CON
clr TMR1
mov #0x0010, W0
mov W0, PR1
bset IPC0, #T1IP0
bclr IPC0, #T1IP1
bclr IPC0, #T1IP2
bclr IFS0, #T1IF
bset IEC0, #T1IE
bset T1CON, #TON
clr TRISB
bucle:
clr W0
goto bucle
.end
No me genera parpadeo y después de muchas pruebas no se en qué parte estoy cometiendo algún error.
Muchas gracias por todo