#include "main.hpp" #include "delay.h" #include "deviceSetup.h" #include "usart.h" #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 pinConfig(pinB3, output, pushPull, def_res, def_speed); pinConfig(pinA0, input, def_stage, pullDown, def_speed); setupInit(); // This is the sescond call of System init the asebly start code is calling it before the main. usartInit( usart2, pinA2, pinA15, 115200, eight, NO_PARITY_CTRL, noFlowControl); //clears screen and send the wellcome messgae print_Usart(usart2, ASCII_clear); print_Usart(usart2, const_cast("Wellcome to our KED project\n\r")); //blinks 10 times to indicate the sicsessfull init if the device for(i = 0 ; i < 10 ; i++) { delayMs(100); pinToggle(pinB3); delayMs(100); } 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) { } return 1; }