Benchmark Sute based on Arduino speed benchmark, adapted and modified for ARM Cortex-M7 ST Nucleo-144 STM32F767 and STM32F746 MCU's by Jovan Ivković 2017. https://hackaday.io/JovanE (Work based on Original Arduino Speed Test Benchmark Program by Dan Watson modified by Chester Lowrey)
Dependencies: STM32F4_RNG mbed
main.cpp@0:82d68abdb697, 2017-02-20 (annotated)
- Committer:
- JovanEps
- Date:
- Mon Feb 20 02:59:17 2017 +0000
- Revision:
- 0:82d68abdb697
- Child:
- 1:646b34df5819
MCU Bench RC1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JovanEps | 0:82d68abdb697 | 1 | //******************************************************** |
JovanEps | 0:82d68abdb697 | 2 | //** Benchamrk Sute based on Arduino bench. ****** |
JovanEps | 0:82d68abdb697 | 3 | //** for ARM Cortex-M7 ST Nucleo-144 Stm32F746 ****** |
JovanEps | 0:82d68abdb697 | 4 | //** Stm32F767 MCU's by ****** |
JovanEps | 0:82d68abdb697 | 5 | //** Jovan Ivkovic 2016. ****** |
JovanEps | 0:82d68abdb697 | 6 | //** JovanEps (jovan.eps@gmail.com). ****** |
JovanEps | 0:82d68abdb697 | 7 | //******************************************************** |
JovanEps | 0:82d68abdb697 | 8 | #include "mbed.h" |
JovanEps | 0:82d68abdb697 | 9 | #include "STM32F4_RNG.h" |
JovanEps | 0:82d68abdb697 | 10 | //DigitalOut myled(LED1); |
JovanEps | 0:82d68abdb697 | 11 | PwmOut PD13(PA_5); |
JovanEps | 0:82d68abdb697 | 12 | //AnalogIn analog_value(A0); |
JovanEps | 0:82d68abdb697 | 13 | AnalogIn analog_value(PA_3); |
JovanEps | 0:82d68abdb697 | 14 | AnalogOut DACout(PA_4); |
JovanEps | 0:82d68abdb697 | 15 | Serial pc(USBTX, USBRX); |
JovanEps | 0:82d68abdb697 | 16 | DigitalOut PD7(PF_13); //introduce D7 pin-out *-Clear port it ping faster :) |
JovanEps | 0:82d68abdb697 | 17 | DigitalIn PD8(PF_12); |
JovanEps | 0:82d68abdb697 | 18 | DigitalInOut PD5(PE_11); |
JovanEps | 0:82d68abdb697 | 19 | Timer timer; //Timer |
JovanEps | 0:82d68abdb697 | 20 | |
JovanEps | 0:82d68abdb697 | 21 | #include <math.h> |
JovanEps | 0:82d68abdb697 | 22 | #define delay wait_ms |
JovanEps | 0:82d68abdb697 | 23 | #define delayMicroseconds wait_us |
JovanEps | 0:82d68abdb697 | 24 | #define millis() timer.read_ms() |
JovanEps | 0:82d68abdb697 | 25 | #define digitalWrite DigitalOut |
JovanEps | 0:82d68abdb697 | 26 | #define HIGH 1 |
JovanEps | 0:82d68abdb697 | 27 | #define LOW 0 |
JovanEps | 0:82d68abdb697 | 28 | |
JovanEps | 0:82d68abdb697 | 29 | // Arduino Speed Test Benchmarking Program |
JovanEps | 0:82d68abdb697 | 30 | // Original Program Credit: Arduino.cc |
JovanEps | 0:82d68abdb697 | 31 | // Modified By: Dan Watson |
JovanEps | 0:82d68abdb697 | 32 | // synchannel.blogspot.com |
JovanEps | 0:82d68abdb697 | 33 | // 1-29-2015 |
JovanEps | 0:82d68abdb697 | 34 | |
JovanEps | 0:82d68abdb697 | 35 | // Modified By: Chester Lowrey |
JovanEps | 0:82d68abdb697 | 36 | // easybotics.com hilo90mhz.com |
JovanEps | 0:82d68abdb697 | 37 | // 2016-12-1 |
JovanEps | 0:82d68abdb697 | 38 | |
JovanEps | 0:82d68abdb697 | 39 | // This sketch is the speed test portion of the Arduino Show Info program |
JovanEps | 0:82d68abdb697 | 40 | // http://playground.arduino.cc/Main/ShowInfo |
JovanEps | 0:82d68abdb697 | 41 | |
JovanEps | 0:82d68abdb697 | 42 | // Certain tests may not compile/run for all boards. Comment them out as necessary: |
JovanEps | 0:82d68abdb697 | 43 | // * analogReference() |
JovanEps | 0:82d68abdb697 | 44 | // * dtostrf() |
JovanEps | 0:82d68abdb697 | 45 | // * bitSet() |
JovanEps | 0:82d68abdb697 | 46 | // * y |= (1<<x) |
JovanEps | 0:82d68abdb697 | 47 | |
JovanEps | 0:82d68abdb697 | 48 | // For the Arduino Zero, "Serial." needs to be "SerialUSB.". A find and replace is the easiest way |
JovanEps | 0:82d68abdb697 | 49 | // to fix this. The program may also run in forked IDEs (such as Mpide for the chipKIT boards). |
JovanEps | 0:82d68abdb697 | 50 | |
JovanEps | 0:82d68abdb697 | 51 | // All configuration options listed below for reference |
JovanEps | 0:82d68abdb697 | 52 | |
JovanEps | 0:82d68abdb697 | 53 | // PIN_1 is used for digitalRead |
JovanEps | 0:82d68abdb697 | 54 | // PIN_2 is used for digitalWrite / pinMode / analogWrite (PWM) |
JovanEps | 0:82d68abdb697 | 55 | // Analog read is hardcoded to 0/1 |
JovanEps | 0:82d68abdb697 | 56 | |
JovanEps | 0:82d68abdb697 | 57 | #define noTitle // define to remove titles - easier to paste results into comparison spreadsheet |
JovanEps | 0:82d68abdb697 | 58 | //#define noAnalog // define to remove analog read/write for ICs without this function |
JovanEps | 0:82d68abdb697 | 59 | #define noAnalogRef // define to remove analogRef test that some cores do not support |
JovanEps | 0:82d68abdb697 | 60 | //#define noDtostrfTest // define to remove the dtostrf test that some cores do not support |
JovanEps | 0:82d68abdb697 | 61 | //#define noBvTest // define to remove bv test that some cores do not support |
JovanEps | 0:82d68abdb697 | 62 | //#define USBserialWait // define to force the main sketch to wait for USB to Serial connection - needed on some native serial boards |
JovanEps | 0:82d68abdb697 | 63 | //#define noLtoaTest // define to remove Itoa test that some cores do not support |
JovanEps | 0:82d68abdb697 | 64 | |
JovanEps | 0:82d68abdb697 | 65 | // Uncomment only one of the below configurations for your specifc board, or make a new one |
JovanEps | 0:82d68abdb697 | 66 | |
JovanEps | 0:82d68abdb697 | 67 | /* |
JovanEps | 0:82d68abdb697 | 68 | // Arduino ATMEGA328 |
JovanEps | 0:82d68abdb697 | 69 | #define PIN_1 3 |
JovanEps | 0:82d68abdb697 | 70 | #define PIN_2 4 |
JovanEps | 0:82d68abdb697 | 71 | */ |
JovanEps | 0:82d68abdb697 | 72 | |
JovanEps | 0:82d68abdb697 | 73 | /* |
JovanEps | 0:82d68abdb697 | 74 | // Arduino Leonardo |
JovanEps | 0:82d68abdb697 | 75 | #define PIN_1 2 |
JovanEps | 0:82d68abdb697 | 76 | #define PIN_2 3 |
JovanEps | 0:82d68abdb697 | 77 | #define noBvTest |
JovanEps | 0:82d68abdb697 | 78 | #define USBserialWait |
JovanEps | 0:82d68abdb697 | 79 | */ |
JovanEps | 0:82d68abdb697 | 80 | |
JovanEps | 0:82d68abdb697 | 81 | |
JovanEps | 0:82d68abdb697 | 82 | // Nucleo STM32F103RB - not tested yet |
JovanEps | 0:82d68abdb697 | 83 | #define PIN_1 12 |
JovanEps | 0:82d68abdb697 | 84 | #define PIN_2 13 |
JovanEps | 0:82d68abdb697 | 85 | #define noAnalog |
JovanEps | 0:82d68abdb697 | 86 | #define noBvTest |
JovanEps | 0:82d68abdb697 | 87 | #define noLtoaTest |
JovanEps | 0:82d68abdb697 | 88 | |
JovanEps | 0:82d68abdb697 | 89 | /* |
JovanEps | 0:82d68abdb697 | 90 | // Arduino Due |
JovanEps | 0:82d68abdb697 | 91 | #define PIN_1 2 |
JovanEps | 0:82d68abdb697 | 92 | #define PIN_2 3 |
JovanEps | 0:82d68abdb697 | 93 | #define noDtostrfTest |
JovanEps | 0:82d68abdb697 | 94 | #define noBvTest |
JovanEps | 0:82d68abdb697 | 95 | #define USBserialWait |
JovanEps | 0:82d68abdb697 | 96 | */ |
JovanEps | 0:82d68abdb697 | 97 | |
JovanEps | 0:82d68abdb697 | 98 | /* |
JovanEps | 0:82d68abdb697 | 99 | // Arduino Zero Pins |
JovanEps | 0:82d68abdb697 | 100 | #define PIN_1 2 |
JovanEps | 0:82d68abdb697 | 101 | #define PIN_2 3 |
JovanEps | 0:82d68abdb697 | 102 | #define noBvTest |
JovanEps | 0:82d68abdb697 | 103 | #define noDtostrfTest |
JovanEps | 0:82d68abdb697 | 104 | #define USBserialWait |
JovanEps | 0:82d68abdb697 | 105 | */ |
JovanEps | 0:82d68abdb697 | 106 | |
JovanEps | 0:82d68abdb697 | 107 | /* |
JovanEps | 0:82d68abdb697 | 108 | // ESP8266 Pins |
JovanEps | 0:82d68abdb697 | 109 | #define PIN_1 4 |
JovanEps | 0:82d68abdb697 | 110 | #define PIN_2 5 |
JovanEps | 0:82d68abdb697 | 111 | #define PIN_3 12 |
JovanEps | 0:82d68abdb697 | 112 | */ |
JovanEps | 0:82d68abdb697 | 113 | |
JovanEps | 0:82d68abdb697 | 114 | /* |
JovanEps | 0:82d68abdb697 | 115 | // ESP32 Pins |
JovanEps | 0:82d68abdb697 | 116 | #define PIN_1 25 |
JovanEps | 0:82d68abdb697 | 117 | #define PIN_2 26 |
JovanEps | 0:82d68abdb697 | 118 | #define PIN_3 27 |
JovanEps | 0:82d68abdb697 | 119 | #define noAnalog |
JovanEps | 0:82d68abdb697 | 120 | */ |
JovanEps | 0:82d68abdb697 | 121 | |
JovanEps | 0:82d68abdb697 | 122 | /* |
JovanEps | 0:82d68abdb697 | 123 | // NRF52/51 Pins |
JovanEps | 0:82d68abdb697 | 124 | #define PIN_1 17 |
JovanEps | 0:82d68abdb697 | 125 | #define PIN_2 18 |
JovanEps | 0:82d68abdb697 | 126 | #define PIN_3 19 |
JovanEps | 0:82d68abdb697 | 127 | #define noDtostrfTest |
JovanEps | 0:82d68abdb697 | 128 | #define noBvTest |
JovanEps | 0:82d68abdb697 | 129 | */ |
JovanEps | 0:82d68abdb697 | 130 | |
JovanEps | 0:82d68abdb697 | 131 | void setup() |
JovanEps | 0:82d68abdb697 | 132 | { |
JovanEps | 0:82d68abdb697 | 133 | //Serial.begin(9600); |
JovanEps | 0:82d68abdb697 | 134 | pc.baud(9600); |
JovanEps | 0:82d68abdb697 | 135 | |
JovanEps | 0:82d68abdb697 | 136 | /* |
JovanEps | 0:82d68abdb697 | 137 | #ifdef USBserialWait |
JovanEps | 0:82d68abdb697 | 138 | while (!Serial) { |
JovanEps | 0:82d68abdb697 | 139 | ; // wait for serial port to connect. Needed for native USB |
JovanEps | 0:82d68abdb697 | 140 | } |
JovanEps | 0:82d68abdb697 | 141 | #endif |
JovanEps | 0:82d68abdb697 | 142 | |
JovanEps | 0:82d68abdb697 | 143 | |
JovanEps | 0:82d68abdb697 | 144 | pinMode(PIN_1, OUTPUT); |
JovanEps | 0:82d68abdb697 | 145 | pinMode(PIN_2, INPUT); |
JovanEps | 0:82d68abdb697 | 146 | |
JovanEps | 0:82d68abdb697 | 147 | pc.printfln("Speed Test will begin momentarily."); |
JovanEps | 0:82d68abdb697 | 148 | pc.printfln(""); |
JovanEps | 0:82d68abdb697 | 149 | |
JovanEps | 0:82d68abdb697 | 150 | wait_ms(1000); |
JovanEps | 0:82d68abdb697 | 151 | |
JovanEps | 0:82d68abdb697 | 152 | speedTest(); |
JovanEps | 0:82d68abdb697 | 153 | */ |
JovanEps | 0:82d68abdb697 | 154 | } |
JovanEps | 0:82d68abdb697 | 155 | |
JovanEps | 0:82d68abdb697 | 156 | void speedTest(void) |
JovanEps | 0:82d68abdb697 | 157 | { |
JovanEps | 0:82d68abdb697 | 158 | register int i,j; |
JovanEps | 0:82d68abdb697 | 159 | volatile unsigned char c1,c2; |
JovanEps | 0:82d68abdb697 | 160 | volatile int v; |
JovanEps | 0:82d68abdb697 | 161 | volatile long l1,l2; |
JovanEps | 0:82d68abdb697 | 162 | volatile float f1,f2; |
JovanEps | 0:82d68abdb697 | 163 | int p,q; |
JovanEps | 0:82d68abdb697 | 164 | long int r; |
JovanEps | 0:82d68abdb697 | 165 | unsigned long m,n; |
JovanEps | 0:82d68abdb697 | 166 | float d, overhead; |
JovanEps | 0:82d68abdb697 | 167 | char buffer[30]; |
JovanEps | 0:82d68abdb697 | 168 | int digitalRead; |
JovanEps | 0:82d68abdb697 | 169 | float meas; //Analog readings |
JovanEps | 0:82d68abdb697 | 170 | #define F_CPU 216000000 |
JovanEps | 0:82d68abdb697 | 171 | #define DEC 10 |
JovanEps | 0:82d68abdb697 | 172 | |
JovanEps | 0:82d68abdb697 | 173 | |
JovanEps | 0:82d68abdb697 | 174 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 175 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 176 | pc.printf("Speed test \n\r"); |
JovanEps | 0:82d68abdb697 | 177 | pc.printf("---------- \n\r"); |
JovanEps | 0:82d68abdb697 | 178 | pc.printf("F_CPU = "); |
JovanEps | 0:82d68abdb697 | 179 | //#endif |
JovanEps | 0:82d68abdb697 | 180 | pc.printf("%d",F_CPU/1000000); |
JovanEps | 0:82d68abdb697 | 181 | pc.printf(" MHz \n\r"); |
JovanEps | 0:82d68abdb697 | 182 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 183 | pc.printf("1/F_CPU = "); |
JovanEps | 0:82d68abdb697 | 184 | //#endif |
JovanEps | 0:82d68abdb697 | 185 | pc.printf("%.4f",(1000000.0/(float)F_CPU)); |
JovanEps | 0:82d68abdb697 | 186 | pc.printf("us \n\r"); |
JovanEps | 0:82d68abdb697 | 187 | |
JovanEps | 0:82d68abdb697 | 188 | |
JovanEps | 0:82d68abdb697 | 189 | wait(0.5); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 190 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 191 | pc.printf("\n\r Start benchmarks"); |
JovanEps | 0:82d68abdb697 | 192 | pc.printf("\n\r ------------------------------"); |
JovanEps | 0:82d68abdb697 | 193 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 194 | pc.printf("\n\r\n\r NOP : "); |
JovanEps | 0:82d68abdb697 | 195 | //#endif |
JovanEps | 0:82d68abdb697 | 196 | //************************* |
JovanEps | 0:82d68abdb697 | 197 | // Start timer |
JovanEps | 0:82d68abdb697 | 198 | //************************* |
JovanEps | 0:82d68abdb697 | 199 | timer.start(); |
JovanEps | 0:82d68abdb697 | 200 | //************************* |
JovanEps | 0:82d68abdb697 | 201 | // wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 202 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 203 | for (i=0; i<100; i++) { |
JovanEps | 0:82d68abdb697 | 204 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 205 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 206 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 207 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 208 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 209 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 210 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 211 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 212 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 213 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 214 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 215 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 216 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 217 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 218 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 219 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 220 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 221 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 222 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 223 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 224 | asm volatile ("nop"); |
JovanEps | 0:82d68abdb697 | 225 | } |
JovanEps | 0:82d68abdb697 | 226 | } |
JovanEps | 0:82d68abdb697 | 227 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 228 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 229 | d *= 1000.0; // in micro seconds |
JovanEps | 0:82d68abdb697 | 230 | // Calculate overhead with 'nop' instruction per loop in microseconds |
JovanEps | 0:82d68abdb697 | 231 | overhead = d - (20.0 * (1000000.0/(float)F_CPU)); |
JovanEps | 0:82d68abdb697 | 232 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 233 | d /= 20.0; // per instruction |
JovanEps | 0:82d68abdb697 | 234 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 235 | pc.printf("\n\r------------------------"); |
JovanEps | 0:82d68abdb697 | 236 | |
JovanEps | 0:82d68abdb697 | 237 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 238 | pc.printf("\n\r digitalRead : "); |
JovanEps | 0:82d68abdb697 | 239 | //#endif |
JovanEps | 0:82d68abdb697 | 240 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 241 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 242 | for (i=0; i<2; i++) { |
JovanEps | 0:82d68abdb697 | 243 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 244 | |
JovanEps | 0:82d68abdb697 | 245 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 246 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 247 | |
JovanEps | 0:82d68abdb697 | 248 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 249 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 250 | |
JovanEps | 0:82d68abdb697 | 251 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 252 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 253 | |
JovanEps | 0:82d68abdb697 | 254 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 255 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 256 | |
JovanEps | 0:82d68abdb697 | 257 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 258 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 259 | |
JovanEps | 0:82d68abdb697 | 260 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 261 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 262 | |
JovanEps | 0:82d68abdb697 | 263 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 264 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 265 | |
JovanEps | 0:82d68abdb697 | 266 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 267 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 268 | |
JovanEps | 0:82d68abdb697 | 269 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 270 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 271 | |
JovanEps | 0:82d68abdb697 | 272 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 273 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 274 | |
JovanEps | 0:82d68abdb697 | 275 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 276 | digitalRead = PD8; |
JovanEps | 0:82d68abdb697 | 277 | } |
JovanEps | 0:82d68abdb697 | 278 | } |
JovanEps | 0:82d68abdb697 | 279 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 280 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 281 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 282 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 283 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 284 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 285 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 286 | |
JovanEps | 0:82d68abdb697 | 287 | |
JovanEps | 0:82d68abdb697 | 288 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 289 | pc.printf("\n\r digitalWrite : "); |
JovanEps | 0:82d68abdb697 | 290 | //#endif |
JovanEps | 0:82d68abdb697 | 291 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 292 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 293 | for (i=0; i<2; i++) { |
JovanEps | 0:82d68abdb697 | 294 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 295 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 296 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 297 | |
JovanEps | 0:82d68abdb697 | 298 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 299 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 300 | |
JovanEps | 0:82d68abdb697 | 301 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 302 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 303 | |
JovanEps | 0:82d68abdb697 | 304 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 305 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 306 | |
JovanEps | 0:82d68abdb697 | 307 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 308 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 309 | |
JovanEps | 0:82d68abdb697 | 310 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 311 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 312 | |
JovanEps | 0:82d68abdb697 | 313 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 314 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 315 | |
JovanEps | 0:82d68abdb697 | 316 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 317 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 318 | |
JovanEps | 0:82d68abdb697 | 319 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 320 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 321 | |
JovanEps | 0:82d68abdb697 | 322 | PD7 = HIGH; |
JovanEps | 0:82d68abdb697 | 323 | PD7 = LOW; |
JovanEps | 0:82d68abdb697 | 324 | } |
JovanEps | 0:82d68abdb697 | 325 | } |
JovanEps | 0:82d68abdb697 | 326 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 327 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 328 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 329 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 330 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 331 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 332 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 333 | |
JovanEps | 0:82d68abdb697 | 334 | |
JovanEps | 0:82d68abdb697 | 335 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 336 | pc.printf("\n\r pinMode : "); |
JovanEps | 0:82d68abdb697 | 337 | //#endif |
JovanEps | 0:82d68abdb697 | 338 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 339 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 340 | for (i=0; i<2; i++) { |
JovanEps | 0:82d68abdb697 | 341 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 342 | |
JovanEps | 0:82d68abdb697 | 343 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 344 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 345 | |
JovanEps | 0:82d68abdb697 | 346 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 347 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 348 | |
JovanEps | 0:82d68abdb697 | 349 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 350 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 351 | |
JovanEps | 0:82d68abdb697 | 352 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 353 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 354 | |
JovanEps | 0:82d68abdb697 | 355 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 356 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 357 | |
JovanEps | 0:82d68abdb697 | 358 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 359 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 360 | |
JovanEps | 0:82d68abdb697 | 361 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 362 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 363 | |
JovanEps | 0:82d68abdb697 | 364 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 365 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 366 | |
JovanEps | 0:82d68abdb697 | 367 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 368 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 369 | |
JovanEps | 0:82d68abdb697 | 370 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 371 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 372 | |
JovanEps | 0:82d68abdb697 | 373 | digitalRead = PD5.read(); |
JovanEps | 0:82d68abdb697 | 374 | PD5.write(digitalRead); |
JovanEps | 0:82d68abdb697 | 375 | } |
JovanEps | 0:82d68abdb697 | 376 | } |
JovanEps | 0:82d68abdb697 | 377 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 378 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 379 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 380 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 381 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 382 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 383 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 384 | |
JovanEps | 0:82d68abdb697 | 385 | |
JovanEps | 0:82d68abdb697 | 386 | |
JovanEps | 0:82d68abdb697 | 387 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 388 | pc.printf("\n\r multiply byte : "); |
JovanEps | 0:82d68abdb697 | 389 | //#endif |
JovanEps | 0:82d68abdb697 | 390 | c1 = 2; |
JovanEps | 0:82d68abdb697 | 391 | c2 = 3; |
JovanEps | 0:82d68abdb697 | 392 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 393 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 394 | for (i=0; i<20; i++) { |
JovanEps | 0:82d68abdb697 | 395 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 396 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 397 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 398 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 399 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 400 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 401 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 402 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 403 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 404 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 405 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 406 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 407 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 408 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 409 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 410 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 411 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 412 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 413 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 414 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 415 | c1 *= c2; |
JovanEps | 0:82d68abdb697 | 416 | } |
JovanEps | 0:82d68abdb697 | 417 | } |
JovanEps | 0:82d68abdb697 | 418 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 419 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 420 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 421 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 422 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 423 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 424 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 425 | |
JovanEps | 0:82d68abdb697 | 426 | |
JovanEps | 0:82d68abdb697 | 427 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 428 | pc.printf("\n\r divide byte : "); |
JovanEps | 0:82d68abdb697 | 429 | //#endif |
JovanEps | 0:82d68abdb697 | 430 | c1 = 253; |
JovanEps | 0:82d68abdb697 | 431 | c2 = 3; |
JovanEps | 0:82d68abdb697 | 432 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 433 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 434 | for (i=0; i<2; i++) { |
JovanEps | 0:82d68abdb697 | 435 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 436 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 437 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 438 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 439 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 440 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 441 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 442 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 443 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 444 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 445 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 446 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 447 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 448 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 449 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 450 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 451 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 452 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 453 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 454 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 455 | c1 /= c2; |
JovanEps | 0:82d68abdb697 | 456 | } |
JovanEps | 0:82d68abdb697 | 457 | } |
JovanEps | 0:82d68abdb697 | 458 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 459 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 460 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 461 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 462 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 463 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 464 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 465 | |
JovanEps | 0:82d68abdb697 | 466 | |
JovanEps | 0:82d68abdb697 | 467 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 468 | pc.printf("\n\r add byte : "); |
JovanEps | 0:82d68abdb697 | 469 | //#endif |
JovanEps | 0:82d68abdb697 | 470 | c1 = 1; |
JovanEps | 0:82d68abdb697 | 471 | c2 = 2; |
JovanEps | 0:82d68abdb697 | 472 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 473 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 474 | for (i=0; i<20; i++) { |
JovanEps | 0:82d68abdb697 | 475 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 476 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 477 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 478 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 479 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 480 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 481 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 482 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 483 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 484 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 485 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 486 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 487 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 488 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 489 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 490 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 491 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 492 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 493 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 494 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 495 | c1 += c2; |
JovanEps | 0:82d68abdb697 | 496 | } |
JovanEps | 0:82d68abdb697 | 497 | } |
JovanEps | 0:82d68abdb697 | 498 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 499 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 500 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 501 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 502 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 503 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 504 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 505 | |
JovanEps | 0:82d68abdb697 | 506 | |
JovanEps | 0:82d68abdb697 | 507 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 508 | pc.printf("\n\r multiply integer : "); |
JovanEps | 0:82d68abdb697 | 509 | //#endif |
JovanEps | 0:82d68abdb697 | 510 | volatile int x,y; |
JovanEps | 0:82d68abdb697 | 511 | x = 2; |
JovanEps | 0:82d68abdb697 | 512 | y = 3; |
JovanEps | 0:82d68abdb697 | 513 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 514 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 515 | for (i=0; i<10; i++) { |
JovanEps | 0:82d68abdb697 | 516 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 517 | x *= y; |
JovanEps | 0:82d68abdb697 | 518 | x *= y; |
JovanEps | 0:82d68abdb697 | 519 | x *= y; |
JovanEps | 0:82d68abdb697 | 520 | x *= y; |
JovanEps | 0:82d68abdb697 | 521 | x *= y; |
JovanEps | 0:82d68abdb697 | 522 | x *= y; |
JovanEps | 0:82d68abdb697 | 523 | x *= y; |
JovanEps | 0:82d68abdb697 | 524 | x *= y; |
JovanEps | 0:82d68abdb697 | 525 | x *= y; |
JovanEps | 0:82d68abdb697 | 526 | x *= y; |
JovanEps | 0:82d68abdb697 | 527 | x *= y; |
JovanEps | 0:82d68abdb697 | 528 | x *= y; |
JovanEps | 0:82d68abdb697 | 529 | x *= y; |
JovanEps | 0:82d68abdb697 | 530 | x *= y; |
JovanEps | 0:82d68abdb697 | 531 | x *= y; |
JovanEps | 0:82d68abdb697 | 532 | x *= y; |
JovanEps | 0:82d68abdb697 | 533 | x *= y; |
JovanEps | 0:82d68abdb697 | 534 | x *= y; |
JovanEps | 0:82d68abdb697 | 535 | x *= y; |
JovanEps | 0:82d68abdb697 | 536 | x *= y; |
JovanEps | 0:82d68abdb697 | 537 | } |
JovanEps | 0:82d68abdb697 | 538 | } |
JovanEps | 0:82d68abdb697 | 539 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 540 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 541 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 542 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 543 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 544 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 545 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 546 | |
JovanEps | 0:82d68abdb697 | 547 | |
JovanEps | 0:82d68abdb697 | 548 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 549 | pc.printf("\n\r divide integer : "); |
JovanEps | 0:82d68abdb697 | 550 | //#endif |
JovanEps | 0:82d68abdb697 | 551 | x = 31415; |
JovanEps | 0:82d68abdb697 | 552 | y = 3; |
JovanEps | 0:82d68abdb697 | 553 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 554 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 555 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 556 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 557 | x /= y; |
JovanEps | 0:82d68abdb697 | 558 | x /= y; |
JovanEps | 0:82d68abdb697 | 559 | x /= y; |
JovanEps | 0:82d68abdb697 | 560 | x /= y; |
JovanEps | 0:82d68abdb697 | 561 | x /= y; |
JovanEps | 0:82d68abdb697 | 562 | x /= y; |
JovanEps | 0:82d68abdb697 | 563 | x /= y; |
JovanEps | 0:82d68abdb697 | 564 | x /= y; |
JovanEps | 0:82d68abdb697 | 565 | x /= y; |
JovanEps | 0:82d68abdb697 | 566 | x /= y; |
JovanEps | 0:82d68abdb697 | 567 | x /= y; |
JovanEps | 0:82d68abdb697 | 568 | x /= y; |
JovanEps | 0:82d68abdb697 | 569 | x /= y; |
JovanEps | 0:82d68abdb697 | 570 | x /= y; |
JovanEps | 0:82d68abdb697 | 571 | x /= y; |
JovanEps | 0:82d68abdb697 | 572 | x /= y; |
JovanEps | 0:82d68abdb697 | 573 | x /= y; |
JovanEps | 0:82d68abdb697 | 574 | x /= y; |
JovanEps | 0:82d68abdb697 | 575 | x /= y; |
JovanEps | 0:82d68abdb697 | 576 | x /= y; |
JovanEps | 0:82d68abdb697 | 577 | } |
JovanEps | 0:82d68abdb697 | 578 | } |
JovanEps | 0:82d68abdb697 | 579 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 580 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 581 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 582 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 583 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 584 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 585 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 586 | |
JovanEps | 0:82d68abdb697 | 587 | |
JovanEps | 0:82d68abdb697 | 588 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 589 | pc.printf("\n\r add integer : "); |
JovanEps | 0:82d68abdb697 | 590 | //#endif |
JovanEps | 0:82d68abdb697 | 591 | x = 1; |
JovanEps | 0:82d68abdb697 | 592 | y = 3; |
JovanEps | 0:82d68abdb697 | 593 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 594 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 595 | for (i=0; i<10; i++) { |
JovanEps | 0:82d68abdb697 | 596 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 597 | x += y; |
JovanEps | 0:82d68abdb697 | 598 | x += y; |
JovanEps | 0:82d68abdb697 | 599 | x += y; |
JovanEps | 0:82d68abdb697 | 600 | x += y; |
JovanEps | 0:82d68abdb697 | 601 | x += y; |
JovanEps | 0:82d68abdb697 | 602 | x += y; |
JovanEps | 0:82d68abdb697 | 603 | x += y; |
JovanEps | 0:82d68abdb697 | 604 | x += y; |
JovanEps | 0:82d68abdb697 | 605 | x += y; |
JovanEps | 0:82d68abdb697 | 606 | x += y; |
JovanEps | 0:82d68abdb697 | 607 | x += y; |
JovanEps | 0:82d68abdb697 | 608 | x += y; |
JovanEps | 0:82d68abdb697 | 609 | x += y; |
JovanEps | 0:82d68abdb697 | 610 | x += y; |
JovanEps | 0:82d68abdb697 | 611 | x += y; |
JovanEps | 0:82d68abdb697 | 612 | x += y; |
JovanEps | 0:82d68abdb697 | 613 | x += y; |
JovanEps | 0:82d68abdb697 | 614 | x += y; |
JovanEps | 0:82d68abdb697 | 615 | x += y; |
JovanEps | 0:82d68abdb697 | 616 | x += y; |
JovanEps | 0:82d68abdb697 | 617 | } |
JovanEps | 0:82d68abdb697 | 618 | } |
JovanEps | 0:82d68abdb697 | 619 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 620 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 621 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 622 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 623 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 624 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 625 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 626 | |
JovanEps | 0:82d68abdb697 | 627 | |
JovanEps | 0:82d68abdb697 | 628 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 629 | pc.printf("\n\r multiply long : "); |
JovanEps | 0:82d68abdb697 | 630 | //#endif |
JovanEps | 0:82d68abdb697 | 631 | l1 = 2; |
JovanEps | 0:82d68abdb697 | 632 | l2 = 3; |
JovanEps | 0:82d68abdb697 | 633 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 634 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 635 | for (i=0; i<2; i++) { |
JovanEps | 0:82d68abdb697 | 636 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 637 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 638 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 639 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 640 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 641 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 642 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 643 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 644 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 645 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 646 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 647 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 648 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 649 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 650 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 651 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 652 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 653 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 654 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 655 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 656 | l1 *= l2; |
JovanEps | 0:82d68abdb697 | 657 | } |
JovanEps | 0:82d68abdb697 | 658 | } |
JovanEps | 0:82d68abdb697 | 659 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 660 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 661 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 662 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 663 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 664 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 665 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 666 | |
JovanEps | 0:82d68abdb697 | 667 | |
JovanEps | 0:82d68abdb697 | 668 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 669 | pc.printf("\n\r divide long : "); |
JovanEps | 0:82d68abdb697 | 670 | //#endif |
JovanEps | 0:82d68abdb697 | 671 | l1 = 2000000000L; |
JovanEps | 0:82d68abdb697 | 672 | l2 = 3; |
JovanEps | 0:82d68abdb697 | 673 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 674 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 675 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 676 | for (j=0; j<2000; j++) { |
JovanEps | 0:82d68abdb697 | 677 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 678 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 679 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 680 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 681 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 682 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 683 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 684 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 685 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 686 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 687 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 688 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 689 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 690 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 691 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 692 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 693 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 694 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 695 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 696 | l1 /= l2; |
JovanEps | 0:82d68abdb697 | 697 | } |
JovanEps | 0:82d68abdb697 | 698 | } |
JovanEps | 0:82d68abdb697 | 699 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 700 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 701 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 702 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 703 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 704 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 705 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 706 | |
JovanEps | 0:82d68abdb697 | 707 | |
JovanEps | 0:82d68abdb697 | 708 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 709 | pc.printf("\n\r add long : "); |
JovanEps | 0:82d68abdb697 | 710 | //#endif |
JovanEps | 0:82d68abdb697 | 711 | l1 = 500000000L; |
JovanEps | 0:82d68abdb697 | 712 | l2 = 123; |
JovanEps | 0:82d68abdb697 | 713 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 714 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 715 | for (i=0; i<4; i++) { |
JovanEps | 0:82d68abdb697 | 716 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 717 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 718 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 719 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 720 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 721 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 722 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 723 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 724 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 725 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 726 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 727 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 728 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 729 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 730 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 731 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 732 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 733 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 734 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 735 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 736 | l1 += l2; |
JovanEps | 0:82d68abdb697 | 737 | } |
JovanEps | 0:82d68abdb697 | 738 | } |
JovanEps | 0:82d68abdb697 | 739 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 740 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 741 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 742 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 743 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 744 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 745 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 746 | |
JovanEps | 0:82d68abdb697 | 747 | |
JovanEps | 0:82d68abdb697 | 748 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 749 | pc.printf("\n\r multiply float : "); |
JovanEps | 0:82d68abdb697 | 750 | //#endif |
JovanEps | 0:82d68abdb697 | 751 | f1 = 3.24; |
JovanEps | 0:82d68abdb697 | 752 | f2 = 1.25; |
JovanEps | 0:82d68abdb697 | 753 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 754 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 755 | for (i=0; i<2; i++) { |
JovanEps | 0:82d68abdb697 | 756 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 757 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 758 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 759 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 760 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 761 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 762 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 763 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 764 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 765 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 766 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 767 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 768 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 769 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 770 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 771 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 772 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 773 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 774 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 775 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 776 | f1 *= f2; |
JovanEps | 0:82d68abdb697 | 777 | } |
JovanEps | 0:82d68abdb697 | 778 | } |
JovanEps | 0:82d68abdb697 | 779 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 780 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 781 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 782 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 783 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 784 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 785 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 786 | |
JovanEps | 0:82d68abdb697 | 787 | |
JovanEps | 0:82d68abdb697 | 788 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 789 | pc.printf("\n\r divide float : "); |
JovanEps | 0:82d68abdb697 | 790 | //#endif |
JovanEps | 0:82d68abdb697 | 791 | f1 = 312645.24; |
JovanEps | 0:82d68abdb697 | 792 | f2 = 1.21; |
JovanEps | 0:82d68abdb697 | 793 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 794 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 795 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 796 | for (j=0; j<2000; j++) { |
JovanEps | 0:82d68abdb697 | 797 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 798 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 799 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 800 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 801 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 802 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 803 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 804 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 805 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 806 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 807 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 808 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 809 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 810 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 811 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 812 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 813 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 814 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 815 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 816 | f1 /= f2; |
JovanEps | 0:82d68abdb697 | 817 | } |
JovanEps | 0:82d68abdb697 | 818 | } |
JovanEps | 0:82d68abdb697 | 819 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 820 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 821 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 822 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 823 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 824 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 825 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 826 | |
JovanEps | 0:82d68abdb697 | 827 | |
JovanEps | 0:82d68abdb697 | 828 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 829 | pc.printf("\n\r add float : "); |
JovanEps | 0:82d68abdb697 | 830 | //#endif |
JovanEps | 0:82d68abdb697 | 831 | f1 = 9876.54; |
JovanEps | 0:82d68abdb697 | 832 | f2 = 1.23; |
JovanEps | 0:82d68abdb697 | 833 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 834 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 835 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 836 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 837 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 838 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 839 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 840 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 841 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 842 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 843 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 844 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 845 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 846 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 847 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 848 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 849 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 850 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 851 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 852 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 853 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 854 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 855 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 856 | f1 += f2; |
JovanEps | 0:82d68abdb697 | 857 | } |
JovanEps | 0:82d68abdb697 | 858 | } |
JovanEps | 0:82d68abdb697 | 859 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 860 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 861 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 862 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 863 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 864 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 865 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 866 | |
JovanEps | 0:82d68abdb697 | 867 | |
JovanEps | 0:82d68abdb697 | 868 | /* |
JovanEps | 0:82d68abdb697 | 869 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 870 | pc.printf(" itoa() : "); |
JovanEps | 0:82d68abdb697 | 871 | //#endif |
JovanEps | 0:82d68abdb697 | 872 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 873 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 874 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 875 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 876 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 877 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 878 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 879 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 880 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 881 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 882 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 883 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 884 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 885 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 886 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 887 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 888 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 889 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 890 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 891 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 892 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 893 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 894 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 895 | itoa(i,buffer,10); |
JovanEps | 0:82d68abdb697 | 896 | } |
JovanEps | 0:82d68abdb697 | 897 | } |
JovanEps | 0:82d68abdb697 | 898 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 899 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 900 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 901 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 902 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 903 | pc.printf("%.3f",d); |
JovanEps | 0:82d68abdb697 | 904 | pc.printf(" us"); |
JovanEps | 0:82d68abdb697 | 905 | */ |
JovanEps | 0:82d68abdb697 | 906 | |
JovanEps | 0:82d68abdb697 | 907 | /* |
JovanEps | 0:82d68abdb697 | 908 | #ifndef noLtoaTest |
JovanEps | 0:82d68abdb697 | 909 | long int l = 314159L; |
JovanEps | 0:82d68abdb697 | 910 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 911 | pc.printf(" ltoa() : "); |
JovanEps | 0:82d68abdb697 | 912 | //#endif |
JovanEps | 0:82d68abdb697 | 913 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 914 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 915 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 916 | for (j=0; j<500; j++) { |
JovanEps | 0:82d68abdb697 | 917 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 918 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 919 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 920 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 921 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 922 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 923 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 924 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 925 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 926 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 927 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 928 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 929 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 930 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 931 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 932 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 933 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 934 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 935 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 936 | ltoa(l,buffer,10); |
JovanEps | 0:82d68abdb697 | 937 | } |
JovanEps | 0:82d68abdb697 | 938 | } |
JovanEps | 0:82d68abdb697 | 939 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 940 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 941 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 942 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 943 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 944 | pc.printf("%.3f",d); |
JovanEps | 0:82d68abdb697 | 945 | pc.printf(" us"); |
JovanEps | 0:82d68abdb697 | 946 | //#endif |
JovanEps | 0:82d68abdb697 | 947 | */ |
JovanEps | 0:82d68abdb697 | 948 | |
JovanEps | 0:82d68abdb697 | 949 | /* |
JovanEps | 0:82d68abdb697 | 950 | #ifndef noDtostrfTest |
JovanEps | 0:82d68abdb697 | 951 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 952 | pc.printf(" dtostrf() : "); |
JovanEps | 0:82d68abdb697 | 953 | //#endif |
JovanEps | 0:82d68abdb697 | 954 | float d3; |
JovanEps | 0:82d68abdb697 | 955 | d3 = 3.14159265; |
JovanEps | 0:82d68abdb697 | 956 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 957 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 958 | for (i=0; i<2; i++) { |
JovanEps | 0:82d68abdb697 | 959 | for (j=0; j<1000; j++) { |
JovanEps | 0:82d68abdb697 | 960 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 961 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 962 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 963 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 964 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 965 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 966 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 967 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 968 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 969 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 970 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 971 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 972 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 973 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 974 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 975 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 976 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 977 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 978 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 979 | dtostrf (d3, 6, 2, buffer); |
JovanEps | 0:82d68abdb697 | 980 | } |
JovanEps | 0:82d68abdb697 | 981 | } |
JovanEps | 0:82d68abdb697 | 982 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 983 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 984 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 985 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 986 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 987 | pc.printf("%.3f",d); |
JovanEps | 0:82d68abdb697 | 988 | pc.printf(" us"); |
JovanEps | 0:82d68abdb697 | 989 | #endif |
JovanEps | 0:82d68abdb697 | 990 | */ |
JovanEps | 0:82d68abdb697 | 991 | |
JovanEps | 0:82d68abdb697 | 992 | //************************** |
JovanEps | 0:82d68abdb697 | 993 | //**** Randomize |
JovanEps | 0:82d68abdb697 | 994 | //************************** |
JovanEps | 0:82d68abdb697 | 995 | STM32F4_RNG rnd; |
JovanEps | 0:82d68abdb697 | 996 | unsigned long num; |
JovanEps | 0:82d68abdb697 | 997 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 998 | pc.printf("\n\r random() : "); |
JovanEps | 0:82d68abdb697 | 999 | //#endif |
JovanEps | 0:82d68abdb697 | 1000 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1001 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1002 | for (i=0; i<2; i++) { |
JovanEps | 0:82d68abdb697 | 1003 | for (j=0; j<1000; j++) { |
JovanEps | 0:82d68abdb697 | 1004 | //r=random(-2147483647,2147483647); |
JovanEps | 0:82d68abdb697 | 1005 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1006 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1007 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1008 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1009 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1010 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1011 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1012 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1013 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1014 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1015 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1016 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1017 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1018 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1019 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1020 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1021 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1022 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1023 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1024 | num = rnd.Get(); |
JovanEps | 0:82d68abdb697 | 1025 | |
JovanEps | 0:82d68abdb697 | 1026 | } |
JovanEps | 0:82d68abdb697 | 1027 | } |
JovanEps | 0:82d68abdb697 | 1028 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1029 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1030 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1031 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1032 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1033 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1034 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1035 | |
JovanEps | 0:82d68abdb697 | 1036 | //#ifndef noBvTest |
JovanEps | 0:82d68abdb697 | 1037 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1038 | pc.printf("\n\r y |= (1<<x) : "); |
JovanEps | 0:82d68abdb697 | 1039 | //#endif |
JovanEps | 0:82d68abdb697 | 1040 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1041 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1042 | for (i=0; i<20; i++) { |
JovanEps | 0:82d68abdb697 | 1043 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 1044 | //v |= _BV(12); |
JovanEps | 0:82d68abdb697 | 1045 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1046 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1047 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1048 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1049 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1050 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1051 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1052 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1053 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1054 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1055 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1056 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1057 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1058 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1059 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1060 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1061 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1062 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1063 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1064 | v |= (1 << 12); |
JovanEps | 0:82d68abdb697 | 1065 | |
JovanEps | 0:82d68abdb697 | 1066 | } |
JovanEps | 0:82d68abdb697 | 1067 | } |
JovanEps | 0:82d68abdb697 | 1068 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1069 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1070 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1071 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1072 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1073 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1074 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1075 | |
JovanEps | 0:82d68abdb697 | 1076 | //#endif |
JovanEps | 0:82d68abdb697 | 1077 | |
JovanEps | 0:82d68abdb697 | 1078 | /* |
JovanEps | 0:82d68abdb697 | 1079 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1080 | pc.printf(" bitSet() : "); |
JovanEps | 0:82d68abdb697 | 1081 | //#endif |
JovanEps | 0:82d68abdb697 | 1082 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1083 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1084 | for (i=0; i<20; i++) { |
JovanEps | 0:82d68abdb697 | 1085 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 1086 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1087 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1088 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1089 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1090 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1091 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1092 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1093 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1094 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1095 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1096 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1097 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1098 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1099 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1100 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1101 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1102 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1103 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1104 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1105 | bitSet (v, 12); |
JovanEps | 0:82d68abdb697 | 1106 | } |
JovanEps | 0:82d68abdb697 | 1107 | } |
JovanEps | 0:82d68abdb697 | 1108 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1109 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1110 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1111 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1112 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1113 | pc.printf("%.3f",d); |
JovanEps | 0:82d68abdb697 | 1114 | pc.printf(" us"); |
JovanEps | 0:82d68abdb697 | 1115 | */ |
JovanEps | 0:82d68abdb697 | 1116 | |
JovanEps | 0:82d68abdb697 | 1117 | /* |
JovanEps | 0:82d68abdb697 | 1118 | //#ifndef noAnalogRef |
JovanEps | 0:82d68abdb697 | 1119 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1120 | pc.printf(" analogReference() : "); |
JovanEps | 0:82d68abdb697 | 1121 | //#endif |
JovanEps | 0:82d68abdb697 | 1122 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1123 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1124 | for (i=0; i<20; i++) { |
JovanEps | 0:82d68abdb697 | 1125 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 1126 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1127 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1128 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1129 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1130 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1131 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1132 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1133 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1134 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1135 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1136 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1137 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1138 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1139 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1140 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1141 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1142 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1143 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1144 | analogReference (EXTERNAL); |
JovanEps | 0:82d68abdb697 | 1145 | analogReference (DEFAULT); |
JovanEps | 0:82d68abdb697 | 1146 | } |
JovanEps | 0:82d68abdb697 | 1147 | } |
JovanEps | 0:82d68abdb697 | 1148 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1149 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1150 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1151 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1152 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1153 | pc.printf("%.3f",d); |
JovanEps | 0:82d68abdb697 | 1154 | pc.printf(" us"); |
JovanEps | 0:82d68abdb697 | 1155 | //#endif |
JovanEps | 0:82d68abdb697 | 1156 | */ |
JovanEps | 0:82d68abdb697 | 1157 | |
JovanEps | 0:82d68abdb697 | 1158 | //#ifndef noAnalog |
JovanEps | 0:82d68abdb697 | 1159 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1160 | pc.printf("\n\r analogRead() : "); |
JovanEps | 0:82d68abdb697 | 1161 | //#endif |
JovanEps | 0:82d68abdb697 | 1162 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1163 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1164 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 1165 | for (j=0; j<1000; j++) { |
JovanEps | 0:82d68abdb697 | 1166 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1167 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1168 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1169 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1170 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1171 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1172 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1173 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1174 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1175 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1176 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1177 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1178 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1179 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1180 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1181 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1182 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1183 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1184 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1185 | meas = analog_value.read(); |
JovanEps | 0:82d68abdb697 | 1186 | |
JovanEps | 0:82d68abdb697 | 1187 | } |
JovanEps | 0:82d68abdb697 | 1188 | } |
JovanEps | 0:82d68abdb697 | 1189 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1190 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1191 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1192 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1193 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1194 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1195 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1196 | |
JovanEps | 0:82d68abdb697 | 1197 | |
JovanEps | 0:82d68abdb697 | 1198 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1199 | pc.printf("\n\r PWM analogWrite() : "); |
JovanEps | 0:82d68abdb697 | 1200 | //#endif |
JovanEps | 0:82d68abdb697 | 1201 | // Using pin 13 (system led) for output. |
JovanEps | 0:82d68abdb697 | 1202 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1203 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1204 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 1205 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 1206 | PD13 = 0.5; |
JovanEps | 0:82d68abdb697 | 1207 | PD13 = 0.995; |
JovanEps | 0:82d68abdb697 | 1208 | PD13 = 0.005; |
JovanEps | 0:82d68abdb697 | 1209 | PD13 = 0.35; |
JovanEps | 0:82d68abdb697 | 1210 | PD13 = 0.85; |
JovanEps | 0:82d68abdb697 | 1211 | PD13 = 0.5; |
JovanEps | 0:82d68abdb697 | 1212 | PD13 = 0.995; |
JovanEps | 0:82d68abdb697 | 1213 | PD13 = 0.005; |
JovanEps | 0:82d68abdb697 | 1214 | PD13 = 0.35; |
JovanEps | 0:82d68abdb697 | 1215 | PD13 = 0.85; |
JovanEps | 0:82d68abdb697 | 1216 | PD13 = 0.5; |
JovanEps | 0:82d68abdb697 | 1217 | PD13 = 0.995; |
JovanEps | 0:82d68abdb697 | 1218 | PD13 = 0.005; |
JovanEps | 0:82d68abdb697 | 1219 | PD13 = 0.35; |
JovanEps | 0:82d68abdb697 | 1220 | PD13 = 0.85; |
JovanEps | 0:82d68abdb697 | 1221 | PD13 = 0.5; |
JovanEps | 0:82d68abdb697 | 1222 | PD13 = 0.995; |
JovanEps | 0:82d68abdb697 | 1223 | PD13 = 0.005; |
JovanEps | 0:82d68abdb697 | 1224 | PD13 = 0.35; |
JovanEps | 0:82d68abdb697 | 1225 | PD13 = 0.85; |
JovanEps | 0:82d68abdb697 | 1226 | } |
JovanEps | 0:82d68abdb697 | 1227 | } |
JovanEps | 0:82d68abdb697 | 1228 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1229 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1230 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1231 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1232 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1233 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1234 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1235 | //#endif |
JovanEps | 0:82d68abdb697 | 1236 | |
JovanEps | 0:82d68abdb697 | 1237 | |
JovanEps | 0:82d68abdb697 | 1238 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1239 | pc.printf("\n\r DAC analogWrite() : "); |
JovanEps | 0:82d68abdb697 | 1240 | //#endif |
JovanEps | 0:82d68abdb697 | 1241 | // Using pin 13 (system led) for output. |
JovanEps | 0:82d68abdb697 | 1242 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1243 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1244 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 1245 | for (j=0; j<10000; j++) { |
JovanEps | 0:82d68abdb697 | 1246 | DACout = 0.5; |
JovanEps | 0:82d68abdb697 | 1247 | DACout = 0.995; |
JovanEps | 0:82d68abdb697 | 1248 | DACout = 0.005; |
JovanEps | 0:82d68abdb697 | 1249 | DACout = 0.35; |
JovanEps | 0:82d68abdb697 | 1250 | DACout = 0.85; |
JovanEps | 0:82d68abdb697 | 1251 | DACout = 0.5; |
JovanEps | 0:82d68abdb697 | 1252 | DACout = 0.995; |
JovanEps | 0:82d68abdb697 | 1253 | DACout = 0.005; |
JovanEps | 0:82d68abdb697 | 1254 | DACout = 0.35; |
JovanEps | 0:82d68abdb697 | 1255 | DACout = 0.85; |
JovanEps | 0:82d68abdb697 | 1256 | DACout = 0.5; |
JovanEps | 0:82d68abdb697 | 1257 | DACout = 0.995; |
JovanEps | 0:82d68abdb697 | 1258 | DACout = 0.005; |
JovanEps | 0:82d68abdb697 | 1259 | DACout = 0.35; |
JovanEps | 0:82d68abdb697 | 1260 | DACout = 0.85; |
JovanEps | 0:82d68abdb697 | 1261 | DACout = 0.5; |
JovanEps | 0:82d68abdb697 | 1262 | DACout = 0.995; |
JovanEps | 0:82d68abdb697 | 1263 | DACout = 0.005; |
JovanEps | 0:82d68abdb697 | 1264 | DACout = 0.35; |
JovanEps | 0:82d68abdb697 | 1265 | DACout = 0.85; |
JovanEps | 0:82d68abdb697 | 1266 | } |
JovanEps | 0:82d68abdb697 | 1267 | } |
JovanEps | 0:82d68abdb697 | 1268 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1269 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1270 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1271 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1272 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1273 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1274 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1275 | //#endif |
JovanEps | 0:82d68abdb697 | 1276 | |
JovanEps | 0:82d68abdb697 | 1277 | |
JovanEps | 0:82d68abdb697 | 1278 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1279 | pc.printf("\n\r wait_ms(1) : "); |
JovanEps | 0:82d68abdb697 | 1280 | //#endif |
JovanEps | 0:82d68abdb697 | 1281 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1282 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1283 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 1284 | for (j=0; j<100; j++) { |
JovanEps | 0:82d68abdb697 | 1285 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1286 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1287 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1288 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1289 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1290 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1291 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1292 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1293 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1294 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1295 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1296 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1297 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1298 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1299 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1300 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1301 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1302 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1303 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1304 | wait_ms(1); |
JovanEps | 0:82d68abdb697 | 1305 | } |
JovanEps | 0:82d68abdb697 | 1306 | } |
JovanEps | 0:82d68abdb697 | 1307 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1308 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1309 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1310 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1311 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1312 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1313 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1314 | |
JovanEps | 0:82d68abdb697 | 1315 | |
JovanEps | 0:82d68abdb697 | 1316 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1317 | pc.printf("\n\r wait_ms(100) : "); |
JovanEps | 0:82d68abdb697 | 1318 | //#endif |
JovanEps | 0:82d68abdb697 | 1319 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1320 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1321 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 1322 | for (j=0; j<2; j++) { |
JovanEps | 0:82d68abdb697 | 1323 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1324 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1325 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1326 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1327 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1328 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1329 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1330 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1331 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1332 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1333 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1334 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1335 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1336 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1337 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1338 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1339 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1340 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1341 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1342 | wait_ms(100); |
JovanEps | 0:82d68abdb697 | 1343 | } |
JovanEps | 0:82d68abdb697 | 1344 | } |
JovanEps | 0:82d68abdb697 | 1345 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1346 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1347 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1348 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1349 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1350 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1351 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1352 | |
JovanEps | 0:82d68abdb697 | 1353 | |
JovanEps | 0:82d68abdb697 | 1354 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1355 | pc.printf("\n\r wait_us(2) : "); |
JovanEps | 0:82d68abdb697 | 1356 | //#endif |
JovanEps | 0:82d68abdb697 | 1357 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1358 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1359 | for (i=0; i<30; i++) { |
JovanEps | 0:82d68abdb697 | 1360 | for (j=0; j<1000; j++) { |
JovanEps | 0:82d68abdb697 | 1361 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1362 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1363 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1364 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1365 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1366 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1367 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1368 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1369 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1370 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1371 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1372 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1373 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1374 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1375 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1376 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1377 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1378 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1379 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1380 | wait_us(2); |
JovanEps | 0:82d68abdb697 | 1381 | } |
JovanEps | 0:82d68abdb697 | 1382 | } |
JovanEps | 0:82d68abdb697 | 1383 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1384 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1385 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1386 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1387 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1388 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1389 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1390 | |
JovanEps | 0:82d68abdb697 | 1391 | |
JovanEps | 0:82d68abdb697 | 1392 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1393 | pc.printf("\n\r wait_us(5) : "); |
JovanEps | 0:82d68abdb697 | 1394 | //#endif |
JovanEps | 0:82d68abdb697 | 1395 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1396 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1397 | for (i=0; i<5; i++) { |
JovanEps | 0:82d68abdb697 | 1398 | for (j=0; j<1000; j++) { |
JovanEps | 0:82d68abdb697 | 1399 | //pc.printfln ("Working"); |
JovanEps | 0:82d68abdb697 | 1400 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1401 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1402 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1403 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1404 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1405 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1406 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1407 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1408 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1409 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1410 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1411 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1412 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1413 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1414 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1415 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1416 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1417 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1418 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1419 | wait_us(5); |
JovanEps | 0:82d68abdb697 | 1420 | } |
JovanEps | 0:82d68abdb697 | 1421 | } |
JovanEps | 0:82d68abdb697 | 1422 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1423 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1424 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1425 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1426 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1427 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1428 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1429 | |
JovanEps | 0:82d68abdb697 | 1430 | |
JovanEps | 0:82d68abdb697 | 1431 | //#ifndef noTitle |
JovanEps | 0:82d68abdb697 | 1432 | pc.printf("\n\r wait_us(100) : "); |
JovanEps | 0:82d68abdb697 | 1433 | //#endif |
JovanEps | 0:82d68abdb697 | 1434 | wait_ms(70); // Allow the Serial text to be transmitted |
JovanEps | 0:82d68abdb697 | 1435 | m = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1436 | for (i=0; i<1; i++) { |
JovanEps | 0:82d68abdb697 | 1437 | for (j=0; j<1000; j++) { |
JovanEps | 0:82d68abdb697 | 1438 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1439 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1440 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1441 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1442 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1443 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1444 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1445 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1446 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1447 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1448 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1449 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1450 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1451 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1452 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1453 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1454 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1455 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1456 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1457 | wait_us(100); |
JovanEps | 0:82d68abdb697 | 1458 | } |
JovanEps | 0:82d68abdb697 | 1459 | } |
JovanEps | 0:82d68abdb697 | 1460 | n = timer.read_ms(); |
JovanEps | 0:82d68abdb697 | 1461 | d = ((float)n - (float)m) / ((float)i * (float)j); |
JovanEps | 0:82d68abdb697 | 1462 | d *= 1000.0; |
JovanEps | 0:82d68abdb697 | 1463 | d -= overhead; |
JovanEps | 0:82d68abdb697 | 1464 | d /= 20.0; |
JovanEps | 0:82d68abdb697 | 1465 | pc.printf("%.3f us \n\r",d); |
JovanEps | 0:82d68abdb697 | 1466 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1467 | |
JovanEps | 0:82d68abdb697 | 1468 | //************************* |
JovanEps | 0:82d68abdb697 | 1469 | //** Stop timer *** |
JovanEps | 0:82d68abdb697 | 1470 | //************************* |
JovanEps | 0:82d68abdb697 | 1471 | timer.stop(); |
JovanEps | 0:82d68abdb697 | 1472 | //************************* |
JovanEps | 0:82d68abdb697 | 1473 | pc.printf("----- END --------"); |
JovanEps | 0:82d68abdb697 | 1474 | pc.printf("-------------------"); |
JovanEps | 0:82d68abdb697 | 1475 | wait(0.3); |
JovanEps | 0:82d68abdb697 | 1476 | } |
JovanEps | 0:82d68abdb697 | 1477 | |
JovanEps | 0:82d68abdb697 | 1478 | //********************************* |
JovanEps | 0:82d68abdb697 | 1479 | //** MAIN block ** |
JovanEps | 0:82d68abdb697 | 1480 | //********************************* |
JovanEps | 0:82d68abdb697 | 1481 | int main() |
JovanEps | 0:82d68abdb697 | 1482 | { |
JovanEps | 0:82d68abdb697 | 1483 | setup(); |
JovanEps | 0:82d68abdb697 | 1484 | do { |
JovanEps | 0:82d68abdb697 | 1485 | pc.printf("\n\r Speed Test will begin momentarily \n\r"); |
JovanEps | 0:82d68abdb697 | 1486 | pc.printf("\n\r"); |
JovanEps | 0:82d68abdb697 | 1487 | wait(0.3); |
JovanEps | 0:82d68abdb697 | 1488 | speedTest(); |
JovanEps | 0:82d68abdb697 | 1489 | wait(3); |
JovanEps | 0:82d68abdb697 | 1490 | } while (true); |
JovanEps | 0:82d68abdb697 | 1491 | } |