test program to demonstrate the ticker problem in mbed lib v158, v159

Dependencies:   mbed

Committer:
Rhyme
Date:
Mon Mar 12 05:34:14 2018 +0000
Revision:
0:484d9f94f221
commit before publishing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:484d9f94f221 1 #include "mbed.h"
Rhyme 0:484d9f94f221 2 Ticker *tokei ;
Rhyme 0:484d9f94f221 3 uint32_t edge_time = 0 ;
Rhyme 0:484d9f94f221 4
Rhyme 0:484d9f94f221 5 void inc_sec(void)
Rhyme 0:484d9f94f221 6 {
Rhyme 0:484d9f94f221 7 __disable_irq() ; // Disable Interrupts
Rhyme 0:484d9f94f221 8 edge_time++ ;
Rhyme 0:484d9f94f221 9 __enable_irq() ; // Enable Interrupts
Rhyme 0:484d9f94f221 10 }
Rhyme 0:484d9f94f221 11
Rhyme 0:484d9f94f221 12 void init_timer(void)
Rhyme 0:484d9f94f221 13 {
Rhyme 0:484d9f94f221 14 tokei = new Ticker() ;
Rhyme 0:484d9f94f221 15 tokei->attach(inc_sec, 1.0) ;
Rhyme 0:484d9f94f221 16 }
Rhyme 0:484d9f94f221 17
Rhyme 0:484d9f94f221 18 int main() {
Rhyme 0:484d9f94f221 19 uint32_t count = 0 ;
Rhyme 0:484d9f94f221 20 init_timer() ;
Rhyme 0:484d9f94f221 21
Rhyme 0:484d9f94f221 22 printf("Ticker test program\n") ;
Rhyme 0:484d9f94f221 23 while(1) {
Rhyme 0:484d9f94f221 24 printf("%d: %d\n", count++, edge_time) ;
Rhyme 0:484d9f94f221 25 wait(1.0) ;
Rhyme 0:484d9f94f221 26 }
Rhyme 0:484d9f94f221 27 }