[p5 + TIMER_STATUS - TIMER_STATUS] = r6; /* clear pending
latches */
/* period capture, falling edge to falling edge */
r7 = TIN_SEL | IRQ_ENA | PERIOD_CNT | WDTH_CAP (z);
w[p1 + TIMER0_CONFIG - TIMER0_CONFIG] = r7;
w[p5+TIMER_ENABLE-TIMER_STATUS] = r5;
uart_autobaud.wait:
r7 = w[p5 + TIMER_STATUS - TIMER_STATUS] (z);
r7 = r7 & r5;
CC = r7 == 0;
if CC jump uart_autobaud.wait;
w[p5 + TIMER_DISABLE - TIMER_STATUS] = r5; /* disable Timer x
*/
[p5 + TIMER_STATUS - TIMER_STATUS] = r6; /* clear pending
latches */
/* Save period value to R0 */
r0 = [p1 + TIMER0_PERIOD - TIMER0_CONFIG];
/* delay processing as autobaud character is still ongoing */
r7 = OUT_DIS | IRQ_ENA | PERIOD_CNT | PWM_OUT (z);
w[p1 + TIMER0_CONFIG - TIMER0_CONFIG] = r7;
w[p5 + TIMER_ENABLE - TIMER_STATUS] = r5;
uart_autobaud.delay:
r7 = w[p5 + TIMER_STATUS - TIMER_STATUS] (z);
r7 = r7 & r5;
CC = r7 == 0;
if CC jump uart_autobaud.delay;
w[p5 + TIMER_DISABLE - TIMER_STATUS] = r5;
[p5 + TIMER_STATUS - TIMER_STATUS] = r6;
(r7:5,p5:5) = [sp++];
rts;
uart_autobaud.end:
ADSP-BF50x Blackfin Processor Hardware Reference
/* wait for timer event */
UART Port Controllers
15-49
Need help?
Do you have a question about the ADSP-BF506F and is the answer not in the manual?