W
wcgan
Guest
Здравейте всички,
Аз опитах кода по-долу, за да генерирате прекъсне след timer1 преливник.но тя не работи.
Мога кой да ми помогне за правилния код?или да ми прости примера на таймера interrrupt?
благодарности.
Код:
# включват <timers.h>
# включват <p18cxxx.h>недействителни timer1_isr (нищожна);недействителни главната ()
(
TRISD = 0x00; / / RD4-7 за LCD, RD3 за SR_DATdA, RD2 за изхода на CPLD, RD0 за nRESET изход
LATD = 0xFF;
PORTD = 0xFF; / / RESET винаги най-висока мощност нагоре
PORTEbits.RDPU = 0;OpenTimer1 (TIMER_INT_ON & T1_8BIT_RW & T1_SOURCE_INT & T1_PS_1_8 & T1_OSC1EN_OFF & T1_SYNC_EXT_OFF);
WriteTimer1 (0x00FF);RCONbits.IPEN = 1;
RCONbits.SBOREN = 0;INTCON = 0b10000000;
IPR1bits.TMR1IP = 1;
PIE1bits.TMR1IE = 1;докато (1)
(
)
)недействителни high_ISR (недействителни)
(
_asm Гото timer1_isr _endasm
)# pragma прекъсне timer1_isrнедействителни timer1_isr (недействителни)
(
PIR1bits.TMR1IF = 0;
WriteTimer1 (0x00FF);PORTDbits.RD7 = ~ PORTDbits.RD7;
)
Аз опитах кода по-долу, за да генерирате прекъсне след timer1 преливник.но тя не работи.
Мога кой да ми помогне за правилния код?или да ми прости примера на таймера interrrupt?
благодарности.
Код:
# включват <timers.h>
# включват <p18cxxx.h>недействителни timer1_isr (нищожна);недействителни главната ()
(
TRISD = 0x00; / / RD4-7 за LCD, RD3 за SR_DATdA, RD2 за изхода на CPLD, RD0 за nRESET изход
LATD = 0xFF;
PORTD = 0xFF; / / RESET винаги най-висока мощност нагоре
PORTEbits.RDPU = 0;OpenTimer1 (TIMER_INT_ON & T1_8BIT_RW & T1_SOURCE_INT & T1_PS_1_8 & T1_OSC1EN_OFF & T1_SYNC_EXT_OFF);
WriteTimer1 (0x00FF);RCONbits.IPEN = 1;
RCONbits.SBOREN = 0;INTCON = 0b10000000;
IPR1bits.TMR1IP = 1;
PIE1bits.TMR1IE = 1;докато (1)
(
)
)недействителни high_ISR (недействителни)
(
_asm Гото timer1_isr _endasm
)# pragma прекъсне timer1_isrнедействителни timer1_isr (недействителни)
(
PIR1bits.TMR1IF = 0;
WriteTimer1 (0x00FF);PORTDbits.RD7 = ~ PORTDbits.RD7;
)