A 24lc16 memóriát az avr avr eszközök mikrokontrolleréhez csatlakoztatjuk
Csatlakozás a vezérlőhöz.
A memória MK-hez történő csatlakoztatása nagyon egyszerű. A pántok közül csak pár ellenállást kell használni, amelynek ellenállása körülbelül 4,7 kΩ.
A memóriával való együttműködés érdekében olyan könyvtárat fejlesztettek ki, amely a következő funkciókat valósítja meg:
i2c_init - állítja be az óraimpulzusok sebességét az SCL vonal mentén.
A 24LC16 chip támogatja a 400 kHz-es frekvenciát. Számítsa ki a frekvenciát a következőképpen:
CPU órajel frekvenciája - a mikrokontroller frekvenciája
TWBR - az azonos névjegyzékben szereplő szám.
TWPS - prescaler. A prescaler értékeket TWPS1 és TWPS0 bitek határozzák meg a TWSR regiszterben
Az Atmega 32 vezérlőhöz a következő táblázat érvényes:
i2c_stop - Megállít egy csomagot
i2c_send - bájtot küld
i2c_recive - elfogad egy byte-ot
i2c_recive_last - az utolsó byte-ot veszi. Az előző funkciótól való eltérés az, hogy amikor egy bájt érkezik, a mikrokontroller nem küld visszaigazoló bitet. Ha az utolsó bájt fogadásakor i2c_recive-et használ, akkor az SDA vonal továbbra is a földre nyomódik.
Írjon adatokat a memóriakártyára
Az A, B, C bitek a memóriablokk kiválasztására szolgálnak. A chipben lévő memóriablokkok 8 darab 256 bájtból állnak. Ennek megfelelően az ABC bitek értékeit 000-től 111-ig veszik.
Annak érdekében, hogy egy bájtot írjon a chipbe, a következő műveleteket kell elvégeznie:
Egy példa. Meg kell adnia a 0. blokk első oldalát.
Az adatok olvasása egy chipből
A rekordfajta kitalált, most kezdjük el olvasni. Egy byte elolvasásához tegye a következőket:
Végül csatolom az oszcillogramot:
Ui a gumiabroncs működésének megértése érdekében javaslom a Di Halt'a cikk olvasását