Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@1:2f4f6ea93f6b, 2020-04-30 (annotated)
- Committer:
- amansutti
- Date:
- Thu Apr 30 09:09:15 2020 +0000
- Revision:
- 1:2f4f6ea93f6b
- Parent:
- 0:ae9de0bbe204
1000 ripetizioni
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| amansutti | 0:ae9de0bbe204 | 1 | #include "mbed.h" |
| amansutti | 0:ae9de0bbe204 | 2 | extern "C" { |
| amansutti | 0:ae9de0bbe204 | 3 | #include "fx.h" |
| amansutti | 0:ae9de0bbe204 | 4 | } |
| amansutti | 0:ae9de0bbe204 | 5 | |
| amansutti | 0:ae9de0bbe204 | 6 | #include <time.h> |
| amansutti | 0:ae9de0bbe204 | 7 | void sleepcp(int milliseconds); |
| amansutti | 0:ae9de0bbe204 | 8 | |
| amansutti | 0:ae9de0bbe204 | 9 | void sleepcp(int milliseconds) // Cross-platform sleep function |
| amansutti | 0:ae9de0bbe204 | 10 | { |
| amansutti | 0:ae9de0bbe204 | 11 | clock_t time_end; |
| amansutti | 0:ae9de0bbe204 | 12 | time_end = clock() + milliseconds * CLOCKS_PER_SEC/1000; |
| amansutti | 0:ae9de0bbe204 | 13 | while (clock() < time_end) { |
| amansutti | 0:ae9de0bbe204 | 14 | } |
| amansutti | 0:ae9de0bbe204 | 15 | } |
| amansutti | 0:ae9de0bbe204 | 16 | |
| amansutti | 0:ae9de0bbe204 | 17 | |
| amansutti | 0:ae9de0bbe204 | 18 | //------------------------------------ |
| amansutti | 0:ae9de0bbe204 | 19 | // Hyperterminal configuration |
| amansutti | 0:ae9de0bbe204 | 20 | // 9600 bauds, 8-bit data, no parity |
| amansutti | 0:ae9de0bbe204 | 21 | //------------------------------------ |
| amansutti | 0:ae9de0bbe204 | 22 | |
| amansutti | 0:ae9de0bbe204 | 23 | Serial pc(SERIAL_TX, SERIAL_RX); |
| amansutti | 0:ae9de0bbe204 | 24 | |
| amansutti | 0:ae9de0bbe204 | 25 | DigitalOut myled(LED1); |
| amansutti | 0:ae9de0bbe204 | 26 | |
| amansutti | 0:ae9de0bbe204 | 27 | int main() |
| amansutti | 0:ae9de0bbe204 | 28 | { |
| amansutti | 0:ae9de0bbe204 | 29 | |
| amansutti | 1:2f4f6ea93f6b | 30 | int Repetitions = 10000; |
| amansutti | 1:2f4f6ea93f6b | 31 | int FxToCall = 100; |
| amansutti | 0:ae9de0bbe204 | 32 | |
| amansutti | 0:ae9de0bbe204 | 33 | float x[20]; |
| amansutti | 0:ae9de0bbe204 | 34 | int count = 0; |
| amansutti | 0:ae9de0bbe204 | 35 | |
| amansutti | 0:ae9de0bbe204 | 36 | while(1) { |
| amansutti | 0:ae9de0bbe204 | 37 | pc.printf("Starting %d repetitions\r\n",Repetitions); |
| amansutti | 0:ae9de0bbe204 | 38 | |
| amansutti | 0:ae9de0bbe204 | 39 | clock_t start, end; |
| amansutti | 0:ae9de0bbe204 | 40 | double cpu_time_used; |
| amansutti | 0:ae9de0bbe204 | 41 | start = clock(); |
| amansutti | 0:ae9de0bbe204 | 42 | count = 0; |
| amansutti | 0:ae9de0bbe204 | 43 | |
| amansutti | 0:ae9de0bbe204 | 44 | for (int r=0; r<Repetitions; r++) { |
| amansutti | 0:ae9de0bbe204 | 45 | for(int i=0; i<FxToCall; i++) { |
| amansutti | 0:ae9de0bbe204 | 46 | count += fxList[i](x); |
| amansutti | 0:ae9de0bbe204 | 47 | } |
| amansutti | 0:ae9de0bbe204 | 48 | } |
| amansutti | 0:ae9de0bbe204 | 49 | |
| amansutti | 0:ae9de0bbe204 | 50 | end = clock(); |
| amansutti | 1:2f4f6ea93f6b | 51 | long double diff = end-start; |
| amansutti | 1:2f4f6ea93f6b | 52 | cpu_time_used = diff / ((long double)CLOCKS_PER_SEC / 1000.0); |
| amansutti | 1:2f4f6ea93f6b | 53 | pc.printf("Elapsed time ms: %f\r\n",cpu_time_used); |
| amansutti | 1:2f4f6ea93f6b | 54 | pc.printf("Elapsed time (ms) x repetition: %f\r\n",cpu_time_used/Repetitions); |
| amansutti | 0:ae9de0bbe204 | 55 | |
| amansutti | 0:ae9de0bbe204 | 56 | |
| amansutti | 0:ae9de0bbe204 | 57 | } |
| amansutti | 0:ae9de0bbe204 | 58 | } |