Back Matter – Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together

Index
A
Analogue Comparator Control and Status Register (ACSR)
ACO bit
breadboarded circuit
comparator outputs
digital input
enable option
pin AIN1(D7)
pins A0-A7
positive input
reference voltage source
external reference
internal reference
sampled voltage
sketch source code
analogRead() function
analogReference() function
Analogue to Digital Converter (ADC)
analogRead() function
dual in-line package (DIP)
init() function
loop() function
noise reduction mode
reference voltage
setupADC() function
setup and initiation
disable digital input
enable conversion process
input source
interrupts
left/right alignment
power selection
prescaler and frequencies
reading steps
reference voltage source
single-shot/auto trigger mode
subsequent conversions
setup() function
sketch breadboard layout
startADC() function
temperature conversion
AVR microcontroller
configuration
Internet
loop() function
measuring device
readADC() function
setup() function
temperature measurement
Atmel/Microchip documents
calibration document
data sheet states
input data
methods
uncalibrated sensor
analogWrite() function
Arduino.h header file
avrinterrupt.h>
avr/io.h file
avr/iom328p.h
avr/portpins.h
<avr/common.h>
<avr/fuse.h>
<avr/lock.h>
<avr/version.h>
setup option
avrpgmspace.h
binary.h header file
HardwareSerial.h
initialization
pins_arduino.h
USBAPI.h
WString.h
Assembly language
BlinkASM sketch code
language source code
ATmega328P
device
pinout diagram
power
pin
ports
restrictions
total
attachInterrupt() function
attachInterrupt()
breadboard layout
documentation states
external interrupts
handling function
INT0 interrupt
interrupt functions
parameters
source code
web site
Automatic Voltage Regulator (AVR)
AND operator
ATmega328P pins and ports
binary logical operations
bit twiddling
digitalRead() function
digitalToggle() function
digitalWrite() function
features
internal pullup resistors
multibit bitmasks
NAND and NOR gates
NOT operation
numbering systems
binary numbers
decimal number
hexadecimal number
OR operation
pinMode() function
PlatformIO function
toggle output pins
writing code
XOR operation
AVRAssist
components
configuration
equivalent code
fat-fingered typist syndrome
initialization
B
bit() macro
bitClear() macro
bitRead() macro
bitSet() macro
bitWrite() macro
Boards.txt file
Uno
boards.local.txt
bootloader
build.mcu
entries
ICSP configuration
identification
upload button
Bootloader board
flash memory
lock bits
bits 0
bits 1 description
device lock bits
lock bit selection
Optiboot operation
Uno bootloader
Breadboard 8 MHz board
AVR microcontroller steps
boards.local.txt file
bootloader file
$YOUR_LOCATION
Brown-out detection (BOD)
definition
enabled and configuration
hysteresis
voltage ranges
C
cbi() macro
Classes
HardwareSerial (see HardwareSerial class)
Print class
Printable class
stream class
string class
Clear Timer on Compare Match (CTC) mode
COMnA1 mode
COMnB1 mode
loop() function
mode settings
PWM
SeePulse width modulation (PWM)
setup() function
sketch mode
TCNT1 matches ICR1
timer clock pulse
Command Line Interface (CLI)
burning bootloader
command line versions
configuration
core/platform installation
download page
installation
MyFirstSketch.ino file
serial device
sketches
compilation
creation
ICSP upload
uploading page
Compilation
Boards.txt file
globally defined properties
header file Arduino.h
init() function
main() function
platform.txt file
preferences.txt file
programmers.txt file
sketch
countPulseASM() function
D, E
delayMicroseconds() function
detachInterrupt() function
Digital input and output
digitalRead() function
digitalWrite() function
pinMode() function
digitalRead() function
replace option
digitalToggle() function
digitalWrite() function
replace option
disableTimer() function
Duemilanove
Duty Cycle
F
Fuses
configuration
extended fuse byte
Arduino sets
BOD
factory default
high fuse bits
bootloader fuse
factory default
program setting
purpose
reset vector fuse
low fuse
Arduino boards
bits fuse
CKSEL fuse bits
factory default
SUT fuses
G
Globally defined properties
H
HardwareSerial class
availableForWrite() function
available() function
bool() function
constructor()
definition
end() function
function begin(unsigned long, uint8_t)
baud rate calculations
begin() function
low- and high-speed communications
rate errors
flush() function
function begin(unsigned long baud)
HAVE_HWSERIAL0 marco
interrupt handlers
transmit data
USART data register empty
USART receive data
peek() function
read() function
rx_buffer_index_t
_rx_complete_irq(void)
Serial.begin() function
SERIAL_RX_BUFFER_SIZE
SERIAL_TX_BUFFER_SIZE
TX_BUFFER_ATOMIC macro
tx_buffer_index_t
_tx_udr_empty_irq(void)
write() function
HardwareSerial class
constructor()
peek() function
highByte() macro
I, J, K
In-circuit serial programming (ICSP)
ArduinoISP sketch
breadboard ATmega328P
connections
boards.txt file
bootloader
burn Bootloader
CLI
preferences.txt file
steps
init() function
Analogue to Digital Converter (ADC)
interrupts
setup() function
steps
timer/counter 0
analogueWrite() function
overflow interrupt
setup option
timer/counters 1 and 2
USART
Sketch (∗.ino)
build
preprocessing
Input capture unit
Input/output operation,
SeeDigital input and output
Analogue input/output
bits and bobs
bit() macro
bitClear() macro
bitRead() macro
bitSet() macro
bitWrite() macro
cbi() macro
highByte() macro
lowByte() macro
PORTB5 definition
sbi() macro
disableTimer() function
features
ISRs
SeeInterrupt service routines (ISR)
language reference
noTone() function
pulseIn() function
pulseInLong() function
shiftIn() function
shiftOut() function
time
delay() function
delayMicroseconds() function
micros() function
millis() function
yield() function
tone() function
Installation paths
explanation
language
Linux/MacOS
software
source code
Windows file/folder
$ARDINC/Arduino.h file
zip file version
Integrated development environment (IDE)
SeePlatformIO IDE
Interrupts
Interrupt service routines (ISR)
attachInterrupt() function
detachInterrupt() function
interrupts() function
noInterrupts() function
L
lowByte() macro
M
micros() function
millis() function
N, O
noInterrupts() function
NormDuino
bill of materials (BOM)
breadboard layout
schematics
noTone() function
P, Q
pinMode() function
PlatformIO IDE
burning bootloader
compilation
core concept
files and directories
GUI tool
ICSP device
initialization
platformio.ini file
project setup
setup environment
setuptools package
testing
editing files
existing projects
home screen option
command line
import project
open project
PIO home tab
project creation
IDE integration page
AVR-style project
blocks project
command line
installation
modification
new project
packages
style project
AVR development board
blink sketch
compilation
platform.ini file
uploading AVR projects
uploading projects
upload/program
platform.txt file
meta-data
pre- and post-build hooks
recipes
file extension
format
steps
variables and command-line options
Power Reduction Register (PRR)
consumption
calculation
data sheets
peripherals
reduction register
functions
saving power
disable() function
loop() function
setup() function
preferences.txt file
home and end keys
ICSP
operating system
tab stops
Print class
data types
descendant class
LiquidCrystal.h
HelloWorld code
send() function
source code
write8bits() function
write() function
println() function
public members
functions
numeric data
virtual functions
Printable class
class implementation
Printable.h header file
printTo() function
programmers.txt file
pulseIn() function
pulseInLong() function
Pulse width modulation (PWM)
analogWrite() function
AVRAssist GitHub page
duty cycle
fast mode
COMnA1 mode
COMnB1 mode
data sheet
details
differences
frequencies
frequencies and periods
init() function
loop() function
setup() function
single slope
timer/counter modes
frequencies
frequency and phase correct
COMnA1 mode
COMnB1 mode
data sheet
differences
phase correct
analogWrite() function
COMnA1 mode
COMnB1 mode
differences
8-bit Phase
frequencies and periods
init() function
mode settings
non-inverting output
setup() function
timer modes
TOP value
R
readBytes() functions
S
sbi() macro
shiftIn() function
shiftOut() function
Smallest blink sketch
frequency
Oscilloscope trace
pio run
platform.ini file
process
source code
Sleep Mode Control Register (SMCR)
ADC noise reduction mode
AVR microcontroller
extended standby mode
idle mode
list of
power down sleep mode
power save sleep mode
standby mode
wake-up process
Stream class
class members
characters
descendant class
find() functions
findUntil() functions
internal buffers
LookaheadEnum enumeration
numeric values
public functions
readBytes() functions
stop scanning function
timedRead() function
data reading functions
pure virtual functions
String class
T
Timer and counters
clock sources
counting mode
configuration
door counter system
loop() function
results
setup() function
waveform generation modes
CTC,
SeeClear Timer on Compare Match (CTC) mode
definitions
functions
init() function
input capture unit
0 modes
normal mode
COMnA1 mode
COMnB1 mode
interrupts
loop() function
mode settings
rolls over/overflows
setup() function
sketch initialization
1 modes
operating modes
disable mode
normal mode
2 modes
Timer/counter 0
Timer/counter 1 and 2
tone() function
U, V
Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
asynchronous operation
baud rates
calculation
configuration
error rate
communicate() function
definition
double speed
initialization
asynchronous and synchronous mode
baud rate
checks
control registers
data Overrun
data register empty
data transmission
data width
double-speed mode
enable data receipt
frame
framing error
interrupts
Master SPI mode
parity error
parity modes
powering option
receive completion
stop bits
transmissions/receiving data
transmit
interrupts
loop() function
parity
receiveByte() function
sendByte() function
sendNumber() function
sendText() function
serial frame
setup() function
setupUSART() function
USART receive data interrupt
W, X
Watchdog Interrupt (WDI) mode
Watchdog Reset (WDR) mode
Watchdog Timer (WDT)
analogue comparator interrupt
AVR microcontroller
flashLED() function
header file
loop() function
setup() function
sleep modes
source code
control register
definition
disabled mode
enabling mode
loop() function
modes of operation
reset option
setup() code
setupComparator() function
setup() function
sleep modes
SeeSleep Mode Control Register (SMCR)
timeout period
Y, Z
yield() function