/* The register Storage Class The register storage class is used to define local variables that should be stored in a register instead of RAM. This means that the variable has a maximum size equal to the register size (usually one word) and can't have the unary '&' operator applied to it (as it does not have a memory location). { register int miles; } The register should only be used for variables that require quick access such as counters. It should also be noted that defining 'register' does not mean that the variable will be stored in a register. It means that it MIGHT be stored in a register depending on hardware and implementation restrictions. */ /* A register variable cannot be used as a "global" variable, because file scope variables have static storage, thus by definition they have an address. register variables are exactly the contrary, that are variables for which you, the programmer, promise to never take their address. So combining the two makes not much sense. BTW, the error message that you get is not very helpful. It seems that your compiler is referring to an extension that allows to fix a register variable to a particular hardware register. If you post such an error message please also give an indication which compiler and/or platform you are using. */ //register ARDUINO_LOOP_LATENCY_T //register ARDUINO_LOOP_LATENCY__MAIN_A ; //EVERY 10 LOOPS INIT THIS LATENCY //register ARDUINO_LOOP_LATENCY_T ARDUINO_LOOP_LATENCY__MAIN_END_A ; //EVERY 10 LOOPS INIT THIS LATENCY //register ARDUINO_LOOP_LATENCY_COUNTER_T ARDUINO_LOOP_LATENCY_COUNTER__MAIN_END_A ; //register ARDUINO_LOOP_LATENCY_COUNTER_T ARDUINO_LOOP_LATENCY_COUNTER__MAIN_A = NULL ; //WILL decrement