Getting key: Send voltage to output 1 by 1 and check if input is active 1 by 1
Polling: Constantly check status of port for new data
Simple to implement
Wastes CPU resources and energy
Handshaking and strobed I/O
Handshaking: Automated process of negotiation that dynamically sets parameters of communications channel established between 2 entities before normal communication begins
Handshake Control: To synchronise transfer of asynchronous data
Make use of Data Strobe signal to indicate that data has been sent
Can only be low after ACK* is received
ACK* to acknowledge data is received (device) and MCU can accept new data
Analogue I/O
System Components
Sensor: Converts analogue measurements into electrical signals (voltage/current)
Signal Conditioning: Filtering, Amplification, Attenuation or Impedance Transformation
Resolution: The smallest change to the analog voltage that can be converted to digital code
LSB: R = 1 / (2^n)
ADC: 12 bits, max data rate of 200 KSPS with 16 channels
tsample: time to sample and hold onto analogue input while it is being converted
tconvert: time it takes for conversion (13 x ADC12CLK)