Liangzhen Lai / Mbed 2 deprecated Orange_Ferrari_board_functional

Dependencies:   DDRO_Farrari mbed

Fork of DDRO_Farrari by Liangzhen Lai

Committer:
liangzhen
Date:
Thu Jul 17 22:16:45 2014 +0000
Revision:
3:e1a6e12233dd
Parent:
0:84a8bcfbdec9
simplify for functional purpose only

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liangzhen 0:84a8bcfbdec9 1 #include "clock.h"
liangzhen 0:84a8bcfbdec9 2
liangzhen 0:84a8bcfbdec9 3 float ext_freq(DigitalIn* clk_pin)
liangzhen 0:84a8bcfbdec9 4 {
liangzhen 0:84a8bcfbdec9 5 bool last = false;
liangzhen 0:84a8bcfbdec9 6 unsigned int count = 0;
liangzhen 0:84a8bcfbdec9 7
liangzhen 0:84a8bcfbdec9 8 Timer t;
liangzhen 0:84a8bcfbdec9 9 t.start();
liangzhen 0:84a8bcfbdec9 10 for(int i=0; i<100000; i++){
liangzhen 0:84a8bcfbdec9 11 bool clkval = *clk_pin;
liangzhen 0:84a8bcfbdec9 12 if(clkval && !last){
liangzhen 0:84a8bcfbdec9 13 count++;
liangzhen 0:84a8bcfbdec9 14 }
liangzhen 0:84a8bcfbdec9 15 last = clkval;
liangzhen 0:84a8bcfbdec9 16 }
liangzhen 0:84a8bcfbdec9 17 float time = t.read();
liangzhen 0:84a8bcfbdec9 18 t.stop();
liangzhen 0:84a8bcfbdec9 19 if(count < 1000){
liangzhen 0:84a8bcfbdec9 20 dual_printf("Clk read inaccurate");
liangzhen 0:84a8bcfbdec9 21 pc.printf("Clk count %d\r\n", count);
liangzhen 0:84a8bcfbdec9 22 }
liangzhen 0:84a8bcfbdec9 23 //pc.printf("T: %f\r\nC: %i\r\n", time, count);
liangzhen 0:84a8bcfbdec9 24
liangzhen 0:84a8bcfbdec9 25 return count / time;
liangzhen 0:84a8bcfbdec9 26 }