diff --git a/main.cpp b/main.cpp index 6831fb3..fc1341f 100644 --- a/main.cpp +++ b/main.cpp @@ -5,14 +5,31 @@ #include "ascii.h" #include "timer.h" +void timer_test(timerNo_t timer, pinNo_t pin) +{ + + timerInit(timer, 4000, 999, downCounting, counter); + timerSart(timer); + + for(int i = 0; i < 10 ; i++) + { + while(!timerGetUpdateInterrupt(timer)); + timerClearUpdateInterrupt(timer); + pinToggle(pin); + } + pinWrite(pin,0); +} + + + int main(int argc, char *argv[]) { uint8_t i = 0; + timerNo_t timers[MAX_TIMER_CHANNEL_COUNT] = {timer_1, timer_2, timer_3, timer_14, timer_16, timer_17}; + delayInitMs(8000000, 1000); // Clock Freq and Divider for ARM library - timerInit(timer_1, 7999, 999, downCounting, counter); - timerSart(timer_1); pinConfig(pinB3, output, pushPull, def_res, def_speed); pinConfig(pinA0, input, def_stage, pullDown, def_speed); @@ -41,11 +58,20 @@ int main(int argc, char *argv[]) pinWrite(pinB3,0); + for (i = 0 ; i < MAX_TIMER_CHANNEL_COUNT; i++ ) + { + print_Usart(usart2, const_cast("Testing Timer :")); + usartSendChar(usart2, i+48); + print_Usart(usart2, const_cast("\r\n")); + timer_test(timers[i], pinB3); + print_Usart(usart2, const_cast("Testing Completed \r\n\r\n")); + delayMs(100); + } + + print_Usart(usart2, const_cast("All is working fine \r\n")); + while(1) { - while(!timerGetUpdateInterrupt(timer_2)); - timerClearUpdateInterrupt(timer_2); - pinToggle(pinB3); } return 1;