E
elrayes
Guest
Ciao a tutti
Voglio solo uso timer0 in PIC18F4550 e realmente
Sono stanco di lettura e di cercare, accanto
Sono un pessimo programmatore, quindi cercate di aiutarmi in questo codice, che
sto utilizzando MPLAB C18 compilatore, questo codice viene utilizzato per luce su alcuni LED PORT D quando il timer scade, i PVR utilizzati per attuare tutto questo, il codice edificio è fine e scaricato sul computer di destinazione, ma il lavoro non è MCU:
# include <p18f4550.h>
# include <stdlib.h>
# include <timers.h>
# pragma interrupt high_isr
# pragma interruptlow low_isr
init_int nullo (void)
(
/ / configurazione di interrupt
INTCON = 0xA0;
INTCON2 = 0x04;
)
# pragma code high_vector = 0x08
interrupt_at_high_vector nullo (void)
(
_asm goto high_isr _endasm
)
# pragma code
# pragma code low_vector = 0x18
interrupt_at_low_vector nullo (void)
(
_asm goto low_isr _endasm
)
# pragma code# pragma interrupt high_isr
high_isr nullo (void)
(
if (INTCONbits.TMR0IF == 1)
(
INTCONbits.TMR0IF = 0;
PORTD = 0x0F;
)
)
# pragma interruptlow low_isr
low_isr nullo (void)
(
)
# pragma code
int x = 0x0000;
void main (void)
(
TRISD = 0x00;
LATD = 0x00;
OpenTimer0 (TIMER_INT_ON & T0_16BIT & T0_SOURCE_INT & T0_PS_1_8);
WriteTimer0 (0x0000);
while (1)
(
high_isr ();
)
)
spero che qualcuno possa risolvere questo problema.
grazie
Voglio solo uso timer0 in PIC18F4550 e realmente
Sono stanco di lettura e di cercare, accanto
Sono un pessimo programmatore, quindi cercate di aiutarmi in questo codice, che
sto utilizzando MPLAB C18 compilatore, questo codice viene utilizzato per luce su alcuni LED PORT D quando il timer scade, i PVR utilizzati per attuare tutto questo, il codice edificio è fine e scaricato sul computer di destinazione, ma il lavoro non è MCU:
# include <p18f4550.h>
# include <stdlib.h>
# include <timers.h>
# pragma interrupt high_isr
# pragma interruptlow low_isr
init_int nullo (void)
(
/ / configurazione di interrupt
INTCON = 0xA0;
INTCON2 = 0x04;
)
# pragma code high_vector = 0x08
interrupt_at_high_vector nullo (void)
(
_asm goto high_isr _endasm
)
# pragma code
# pragma code low_vector = 0x18
interrupt_at_low_vector nullo (void)
(
_asm goto low_isr _endasm
)
# pragma code# pragma interrupt high_isr
high_isr nullo (void)
(
if (INTCONbits.TMR0IF == 1)
(
INTCONbits.TMR0IF = 0;
PORTD = 0x0F;
)
)
# pragma interruptlow low_isr
low_isr nullo (void)
(
)
# pragma code
int x = 0x0000;
void main (void)
(
TRISD = 0x00;
LATD = 0x00;
OpenTimer0 (TIMER_INT_ON & T0_16BIT & T0_SOURCE_INT & T0_PS_1_8);
WriteTimer0 (0x0000);
while (1)
(
high_isr ();
)
)
spero che qualcuno possa risolvere questo problema.
grazie