user47251: When I took a look at how the arduino libraries were coded I expected to see register names like I/O registers(PINx,DDRx,PORTx) and other such registers with values assigned to them but instead I saw normal C code with functions and a class.
Why isn't there any embedded C in the structure of the library? Am I misunderstanding something very basic? Please help me understand.

user7508: If you take a look at the Arduino core library (e.g., the AVR version of
wiring.c), you will see lots of low-level register access. That's
why the core code is specific to a processor architecture.
Other libraries are built on top of the core API in order to be
portable.

47251: <p>When I took a look at how the arduino libraries were coded I expected to see register names like I/O registers(PINx,DDRx,PORTx) and other such registers with values assigned to them but instead I saw normal C code with functions and a class.</p>

<p>Why isn't there any embedded C in the structure of the library? Am I misunderstanding something very basic? Please help me understand.</p>
 7508: <p>If you take a look at the Arduino core library (e.g., the AVR version of
<a href="https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/wiring.c" rel="nofollow noreferrer">wiring.c</a>), you will see lots of low-level register access. That's
why the core code is specific to a processor architecture.</p>

<p>Other libraries are built on top of the core API in order to be
portable.</p>
