void left_to_right_single(unsigned int first, unsigned int last) { unsigned int i; unsigned int j; for(i = first; i <= last; i++) { for(j = first; j <= last; j++) { set_gpio_pin_value(j, 0); } set_gpio_pin_value(i, 1); waste_time(); } }
void left_to_right_off_slow(unsigned int first, unsigned int last) { int i; int j; for(j = first; j <= last; j++) { set_gpio_pin_value(j, 1); } for(i = last; i >= first; i--) { left_to_right_single(i, last); } }
int main() { // Configure ISRs int_init(); int_add(29, (void *) int_time_cmp, 0); int_enable(); EER = 0xF0000000; // enable all timer events; IER = 0xF0000000; // enable all timer interrupts /* Setup Timer A */ TOCRA = 0x80; TPRA = 0x3F; // set prescaler, enable interrupts and start timer. while (timer_triggered < 5) { printf("Loop Counter: %d\n", timer_triggered); sleep(); } set_gpio_pin_value(0, 0); int_disable(); print_summary(0); return 0; }