After a successfully completed course the student should be able to:
program a microcontroller in C, including the hardware configuration and interrupt routines,
manage parallel processes with different priorities without the help of an operating system,
explain the choice of data types and algorithms in view of limited resources,
provide a detailed description of the constraints of the selected system design,
debug a microcontroller application by various means.
Structure of microcontrollers and internal peripherals, memory types. Connecting analog and digital signals, including the basics of electronics. Serial communication. Hardware programming in C, device drivers, interrupt handling. Handling of parallel processes when an operating system is missing, process priority, time analysis, finite state machines. Instruction and register set as well as addressing modes for a given microcontroller family. Efficiency aspects of different data types and program structures in C. Development tools and debugging.
Lectures and laboratory work.
Written examination (4 credits). Laboratory work (1 credit).
The course may not be included in a degree together with 1TE663.