E
elrayes
Guest
Hei kaikki
Haluan vain käyttää timer0 vuonna PIC18F4550 ja todella
Olen väsynyt lukemaan ja yrittää vieressä Olen erittäin huono ohjelmoija, joten yritämme auttaa minua tässä koodi, olen käyttäen MPLAB C18 kääntäjään, tätä koodia käytetään esiin eräitä LED's PORT D kun ajastin päättyy, i-kirjain käytetty ISR toteuttaa kaiken tämän, koodi rakennus on hienoa ja ladata tavoite mutta MCU ei toimi:
#
include <p18f4550.h>
#
include <stdlib.h>
#
include <timers.h>
# pragma keskeyttää high_isr
# pragma interruptlow low_isr
mitätön init_int (void)
(
/ / configuring katkaisevat
INTCON = 0xA0;
INTCON2 = 0x04;
)
# pragma koodi high_vector = 0x08
mitätön interrupt_at_high_vector (void)
(
_asm goto high_isr _endasm
)
# pragma koodi
# pragma koodi low_vector = 0x18
mitätön interrupt_at_low_vector (void)
(
_asm goto low_isr _endasm
)
# pragma koodi# pragma keskeyttää high_isr
mitätön high_isr (void)
(
if (INTCONbits.TMR0IF == 1)
(
INTCONbits.TMR0IF = 0;
PORTD = 0x0f;
)
)
# pragma interruptlow low_isr
mitätön low_isr (void)
(
)
# pragma koodi
int x = 0x0000;
mitätön main (void)
(
TRISD = 0x00;
LATD = 0x00;
OpenTimer0 (TIMER_INT_ON & T0_16BIT & T0_SOURCE_INT & T0_PS_1_8);
WriteTimer0 (0x0000);
kun taas (1)
(
high_isr ();
)
)
toivon joku voisi ratkaista tämän.
kiitos
Haluan vain käyttää timer0 vuonna PIC18F4550 ja todella
Olen väsynyt lukemaan ja yrittää vieressä Olen erittäin huono ohjelmoija, joten yritämme auttaa minua tässä koodi, olen käyttäen MPLAB C18 kääntäjään, tätä koodia käytetään esiin eräitä LED's PORT D kun ajastin päättyy, i-kirjain käytetty ISR toteuttaa kaiken tämän, koodi rakennus on hienoa ja ladata tavoite mutta MCU ei toimi:
#
include <p18f4550.h>
#
include <stdlib.h>
#
include <timers.h>
# pragma keskeyttää high_isr
# pragma interruptlow low_isr
mitätön init_int (void)
(
/ / configuring katkaisevat
INTCON = 0xA0;
INTCON2 = 0x04;
)
# pragma koodi high_vector = 0x08
mitätön interrupt_at_high_vector (void)
(
_asm goto high_isr _endasm
)
# pragma koodi
# pragma koodi low_vector = 0x18
mitätön interrupt_at_low_vector (void)
(
_asm goto low_isr _endasm
)
# pragma koodi# pragma keskeyttää high_isr
mitätön high_isr (void)
(
if (INTCONbits.TMR0IF == 1)
(
INTCONbits.TMR0IF = 0;
PORTD = 0x0f;
)
)
# pragma interruptlow low_isr
mitätön low_isr (void)
(
)
# pragma koodi
int x = 0x0000;
mitätön main (void)
(
TRISD = 0x00;
LATD = 0x00;
OpenTimer0 (TIMER_INT_ON & T0_16BIT & T0_SOURCE_INT & T0_PS_1_8);
WriteTimer0 (0x0000);
kun taas (1)
(
high_isr ();
)
)
toivon joku voisi ratkaista tämän.
kiitos