Programming of Microcontrollers
Osnovni podatki
Nosilec: Iztok Fajfar
Vrsta predmeta: Obvezni – strokovni
Število kreditnih točk: 5
Semester izvajanja: 2. semester
Koda predmeta: 64108
Opis predmeta
The course covers two main areas: programming in the C language in accordance with the C89 and C99 standards, and the development of applications for simple microcontroller systems. We thoroughly explore the syntax of the C language, along with techniques used for implementing well-known algorithms and data structures. Special attention is given to language elements whose behavior is not unambiguously defined by the standard and are often the source of difficult-to-trace errors. To study the basic principles of microcontroller programming, we use the Arduino platform. We learn programming techniques for manipulating bits in registers or specific parts of memory. We explore ways to connect sensors and actuators and the basics of designing real-time embedded systems. In this context, we are introduced to the concept of finite state machines as a design tool. We clarify the concept of interrupts, which is crucial for understanding event-driven systems. The course concludes with practical examples of designing a digital clock and a dimmer switch.
Cilji
In-depth knowledge of the fundamentals of the C programming language and familiarization with the basics of embedded systems, principles of multitasking systems and real-time systems, as well as methods of connecting peripheral devices and communicating with them.
Metode poučevanja in učenja
Two hours of lectures and two hours of hands-on exercises per week, lecture recordings, textbook, homework assignments, individual work with more advanced students.