
- the pointers must be flagged as volatile because otherwise they might be "optimized" by a compiler. It is a common good practice to access the registers this way, the keyword is in C for a reason. - for instance, in eeprom_eerd() when polling a register the compiler, under certain conditions, may decide upon the first read and if it does not break the loop it assumes that the value is not going to change and thus stays in an infinite loop.
…
Description
Languages
C
78.2%
Roff
10.2%
Assembly
4.6%
Shell
3.7%
Makefile
1.6%
Other
1.2%