Ho un problema con il tmr0 del PIC in oggetto (datasheet).
Il codice che sto utilizzando è questo:
- Codice: Seleziona tutto
#include <xc.h>
#pragma config FOSC = INTOSC
#pragma config LVP = OFF
#pragma config WDTE = OFF
unsigned char blink=1;
#define _XTAL_FREQ 8000000
#define LEDTX PORTAbits.RA0
void Interrupt(void);
void intmr0(void);
void Interrupt(void){
if(INTCONbits.TMR0IF){
INTCONbits.TMR0IF = 0;
TMR0 = 6;
PORTAbits.RA0 = blink;
blink = ~ blink;
INTCONbits.GIE = 1;
}
}
void intmr0(void){
OPTION_REG = 0x81;
TMR0 = 6;
INTCONbits.TMR0IF = 0;
INTCONbits.TMR0IE = 1;
}
void main(void) {
OSCCON = 0x72; //sel. clock - 8MHz
OPA1CON = 0xC0; //abil. opa1 con ni su RA5
INTCONbits.GIE = 1;
INTCONbits.PEIE = 1;
INTCONbits.INTE = 0;
INTCONbits.INTF = 0; //reg INTCON
TRISAbits.TRISA0 = 0;
TRISAbits.TRISA1 = 0;
TRISAbits.TRISA5 = 1; //porta A
TRISCbits.TRISC3 = 0; //porta C
ADCON0bits.ADON = 0; //abil. ad
PIR1bits.ADIF = 0; //canc. flag
PIE1bits.ADIE = 0; //abil. interrupt on adc
ADCON1bits.ADCS2 = 0;
ADCON1bits.ADCS1 = 0;
ADCON1bits.ADCS0 = 1; //sel. 1us TAD
ADCON0bits.CHS4 = 0;
ADCON0bits.CHS3 = 0;
ADCON0bits.CHS2 = 0;
ADCON0bits.CHS1 = 1;
ADCON0bits.CHS0 = 1; //sel an3
intmr0();
LEDTX=0;
while(1){
PORTCbits.RC3 = 1;
__delay_ms(1);
PORTCbits.RC3 = 0;
__delay_ms(1);
}
}
Dovrebbe accendere e spegnere un led ogni 1ms... ma non funziona, non entra nella routine di interrupt
Nel ds non parla del fatto che il tmr0 debba essere accesso... quindi è sempre acceso? C'è qualcosa che mi sfugge?


Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)





