int main (void) { int start_position = 42; //zmienna pomocniczne do sterowania serwami __disable_irq(); temp1=temp2=start_position; Clock_Initialize(); GPIO_Initialize(); Timer1_init(); Timer2_init(); __enable_irq(); FPTB->PDOR =0; NVIC->ICER[0]|=(1UL<<(30%32))|(1UL<<(31%32)); NVIC->ISER[0]|=(1UL<<(30%32))|(1UL<<(31%32)); while(1){ if( !(FPTB->PDIR&(1<<0))){ prawo(700); } if(!(FPTB->PDIR&(1<<1))){ lewo(700); } } }
int main (int argc, char *argv[]) { UINT64 begin, end; unsigned u; UNREFERENCED_PARAMETER(argc); UNREFERENCED_PARAMETER(argv); Clock_Initialize (1); Clock_Initialize_thread (); for (u = 1 ; u < 5; u++) { UINT64 n = u * 1000; UINT64 d; begin = Clock_getCurrentTime(0); sleep (u); end = Clock_getCurrentTime(0); d = (end - begin) / 1000000; /* Allow +- 5 microsecond credit */ if (!( n-5 <= d && d <= n+5)) { printf ("Executed sleep (%u) but we measured %lu nanoseconds\n", u, end-begin); printf ("Comparison of timing in microseconds do not match! (%lu != %lu)\n", n, d); return 1; } } return 0; }