Repository navigation
Releases: im-embedded-lectures/im-embedded-lectures.github.io
Release list
30. Serial Communication 6 - Terminals, Arduino Serial & Interrupt-driven USART
8 Dec 2020 (afternoon, part 2) — Tracing the echo loop character by character, terminal emulators and CR/LF, the Arduino Serial version, System 17 with RX-complete and UDR-empty interrupts, and a course wrap-up.
For educational use only. Please do not share outside the batch.
29. Serial Communication 5 - Echo Program in C
8 Dec 2020 (afternoon, part 1) — Walking through the System 16 C program: configuring UCSR0A/B/C, polling RXC and echoing characters back.
For educational use only. Please do not share outside the batch.
28. Serial Communication 4 - System 16 Echo, Baud Rate & Baud Rate Error
8 Dec 2020 (morning) — System 16 (serial echo): hardware, polling RXC and UDRE, setting a standard baud rate, computing UBRR, integer overflow pitfalls (UL), baud rate error and choosing crystals for zero error.
For educational use only. Please do not share outside the batch.
27. Serial Communication 3 - RS232, USB Bridges, Transmitter & Receiver
1 Dec 2020 (afternoon) — RS232 vs TTL levels and line drivers (MAX232), USB-to-UART bridges on Arduino boards, how the USART transmitter (UDR, shift register, UDRE vs TXC) and receiver (RXC) work, pin control, UBRR and USART registers.
For educational use only. Please do not share outside the batch.
26. Serial Communication 2 - Serial vs Parallel, Sync vs Async & Framing
1 Dec 2020 (morning, part 2) — Crosstalk and cost problems of parallel links, synchronous vs asynchronous communication, why a USART offloads the CPU, character frames (start/data/parity/stop bits) and baud rate.
For educational use only. Please do not share outside the batch.
25. Serial Communication 1 - Introduction & USART
1 Dec 2020 (morning, part 1) — Learning outcomes, what USART is, where serial communication is used, and the serial vs parallel question.
For educational use only. Please do not share outside the batch.
24. PWM 3 - LED Fading Program & True Analog Output
24 Nov 2020 (afternoon, part 2) — System 15 algorithm and C program (1 kHz PWM, prescaler choice), Arduino analogWrite version, true analog output options (RC filters, DAC) and random numbers.
For educational use only. Please do not share outside the batch.
23. PWM 2 - Timer Modes (Normal, CTC, Fast & Phase Correct)
24 Nov 2020 (afternoon, part 1) — TCCRnA/TCCRnB and WGM bits, normal and CTC modes, fast PWM vs phase-correct PWM, inverted/non-inverted COM bits, compare-match flags and the System 15 LED-fading setup.
For educational use only. Please do not share outside the batch.
22. PWM 1 - Duty Cycle, Average Voltage & Generating PWM
24 Nov 2020 (morning) — Why PWM, how fast toggling looks analog to slow devices, duty cycle and average voltage, generating PWM with timers (OCR, comparator, waveform generator), non-inverted mode and PWM frequency.
For educational use only. Please do not share outside the batch.
21. Timing and Counting 2 - Precise Delays with Timer 1
17 Nov 2020 (afternoon) — System 13: blinking an LED every 200 ms with a hardware timer - deriving N = F_CPU / prescaler x delay, choosing the prescaler, preloading TCNT1, then polling TOV vs using the overflow interrupt.
For educational use only. Please do not share outside the batch.