-
Book Overview & Buying
-
Table Of Contents
Bare-Metal Embedded C Programming
By :
In this chapter, we learned about the I2C communication protocol. We began by discussing the fundamental principles of the I2C protocol, including its modes of operation, addressing schemes, and the step-by-step communication process.
We then delved into the specifics of the STM32 I2C peripheral, highlighting key registers such as Control Register 1 (I2C_CR1), Control Register 2 (I2C_CR2), the Clock Control Register (I2C_CCR), and the Data Register (I2C_DR).
Finally, we applied this theoretical knowledge to develop a bare-metal I2C driver. This driver allows us to initialize the I2C peripheral, perform both single-byte and burst data transfers, and handle communication with an external device such as the ADXL345 accelerometer.
In the next chapter, we will learn about interrupts, a critical feature in modern microcontrollers that enables responsive and efficient handling of real-time events.
