| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*
- 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
|