Wondrous though the STM32 (ARM Cortex M3) might be, it makes something of a meal of atomic access to individual bits in memory. The technique used is called bit-banding. Although it is simple enough in concept and pretty friendly to the assembly language programmer, it is easy enough to get lost in C. Or should that be at C?
By far the most commonly used micromouse sensors are simple reflective types that give an indication of distance by measuring how much light is reflected from the maze wall. While the response is repeatable and related to distance, it is quite difficult to get an accurate answer. This is how the sensor readings can be converted into an actual distance… (more…)