Etkileşimli STM32 I2C ve Sensör Haberleşmesi#
Bu laboratuvar, I2C haberleşmesini soyut bir protokol listesi gibi değil; fiziksel bir bus ve teşhis pratiği gibi gösterir. Burada yanlış adres, eksik pull-up ya da aşırı hızlı bus seçimi farklı türde hatalar üretir ve her biri transcript içinde ayrı bir iz bırakır.
Bu Derste Ne Oturmalı?#
I2C bus,
SDAveSCLhatlarını high seviyeye çekmek için pull-up direncine ihtiyaç duyar.Master, önce
7-bit slave adresiile konuşur; hiçbir slave cevap vermezseNACKgörülür.Register temelli sensörlerde veri okumak çoğu zaman
adres -> register -> tekrar start -> veriakışıyla yapılır.STM32 HAL tarafında cihaz adresi genellikle sola kaydırılmış (
7-bit << 1) biçimde verilir.
Not
Bir sonraki doğal laboratuvarlar interrupt timeline, DMA, SPI ya da FreeRTOS görev akışı tarafına uzanabilir.