Measurment of execution time for sin() and sinf() functions for ST Nucleo F401RE.

Dependencies:   mbed

Committer:
MikamiUitOpen
Date:
Mon Nov 10 09:54:43 2014 +0000
Revision:
2:119a66507313
Parent:
1:33dad37b0caf
3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:24dff9fbc559 1 //--------------------------------------------------------------
MikamiUitOpen 0:24dff9fbc559 2 // Measurement execution time
MikamiUitOpen 0:24dff9fbc559 3 // Use D7
MikamiUitOpen 0:24dff9fbc559 4 // 2014/10/29, Copyright (c) 2014 MIKAMI, Naoki
MikamiUitOpen 0:24dff9fbc559 5 //--------------------------------------------------------------
MikamiUitOpen 0:24dff9fbc559 6
MikamiUitOpen 0:24dff9fbc559 7 #include "mbed.h"
MikamiUitOpen 0:24dff9fbc559 8
MikamiUitOpen 0:24dff9fbc559 9 DigitalOut dOut_(D7);
MikamiUitOpen 0:24dff9fbc559 10 DigitalIn sw1_(D2, PullDown);
MikamiUitOpen 0:24dff9fbc559 11
MikamiUitOpen 0:24dff9fbc559 12 int main()
MikamiUitOpen 0:24dff9fbc559 13 {
MikamiUitOpen 1:33dad37b0caf 14 const int COUNT = 10;
MikamiUitOpen 0:24dff9fbc559 15 while (true)
MikamiUitOpen 0:24dff9fbc559 16 {
MikamiUitOpen 0:24dff9fbc559 17 if (sw1_ == 0)
MikamiUitOpen 0:24dff9fbc559 18 {
MikamiUitOpen 0:24dff9fbc559 19 dOut_.write(1);
MikamiUitOpen 1:33dad37b0caf 20 for (int n=0; n<COUNT; n++)
MikamiUitOpen 1:33dad37b0caf 21 volatile float x1 = sinf(0.1f);
MikamiUitOpen 0:24dff9fbc559 22 dOut_.write(0);
MikamiUitOpen 0:24dff9fbc559 23 }
MikamiUitOpen 0:24dff9fbc559 24 else
MikamiUitOpen 0:24dff9fbc559 25 {
MikamiUitOpen 0:24dff9fbc559 26 dOut_.write(1);
MikamiUitOpen 1:33dad37b0caf 27 for (int n=0; n<COUNT; n++)
MikamiUitOpen 1:33dad37b0caf 28 volatile double x1 = sin(0.1);
MikamiUitOpen 0:24dff9fbc559 29 dOut_.write(0);
MikamiUitOpen 0:24dff9fbc559 30 }
MikamiUitOpen 0:24dff9fbc559 31
MikamiUitOpen 1:33dad37b0caf 32 wait_us(500); // 0.05 ms
MikamiUitOpen 0:24dff9fbc559 33 }
MikamiUitOpen 0:24dff9fbc559 34 }