Programming Examples
The example shown in
ates periodic interrupt requests every 0x1000 SCLK cycles. If the
preprocessor constant
interrupt only once. Unlike in a real application, the purpose of the inter-
rupt service routine shown in this example is just the clearing of the
interrupt request and counting interrupt occurrences.
Listing 10-4. Periodic Interrupt Requests
// #define SINGLE_PULSE
timer5_interrupt_generation:
[--sp] = (r7:7, p5:5);
p5.h = hi(TIMER_ENABLE);
p5.l = lo(TIMER_ENABLE);
#ifdef SINGLE_PULSE
r7.l = EMU_RUN | IRQ_ENA | OUT_DIS | PWM_OUT;
#else
r7.l = EMU_RUN | IRQ_ENA | PERIOD_CNT | OUT_DIS | PWM_OUT;
#endif
w[p5 + TIMER5_CONFIG - TIMER_ENABLE] = r7;
r7 = 0x1000 (z);
#ifndef SINGLE_PULSE
[p5 + TIMER5_PERIOD - TIMER_ENABLE] = r7;
r7 = 0x1 (z);
#endif
[p5 + TIMER5_WIDTH - TIMER_ENABLE] = r7;
r7.l = TIMEN5;
w[p5] = r7;
(r7:7, p5:5) = [sp++];
r0 = 0 (z);
rts;
timer5_interrupt_generation.end:
isr_timer5:
[--sp] = astat;
10-52
Listing 10-4
does not drive the
was defined, timer 5 requests an
SINGLE_PULSE
ADSP-BF50x Blackfin Processor Hardware Reference
pin. It gener-
TMR
Need help?
Do you have a question about the ADSP-BF506F and is the answer not in the manual?