ESP8266 - externe I2C EEPROM datalogger - AT24C32/64 Driver (3 / 4 stap)

Stap 3: Driver uitvoering


Stuurprogramma uitvoering

Te kunnen openen en naar behoren functioneren met enige vorm van geheugenkaarten of-sticks moeten we ten minste 3 basisfuncties geïmplementeerd: aanpakken, lezen en schrijven. Plus de juiste I2C bus mededeling initialisatie, natuurlijk.

1. Init I2C bus/interface:

 address = 0x50, -- A2, A1, A0 = 0 id = 0 init = function (self, sda, scl) self.id = 0 i2c.setup(self.id, sda, scl, i2c.SLOW) end 

Aanpak:

De 32K EEPROM is een 8-bits apparaatstuurprogramma adres word na een start-voorwaarde de chip inschakelen voor een lezen of schrijven van operatie vereist. De drie apparaat adres bits A2, A1, A0 kunnen maar liefst acht apparaten op dezelfde bus worden gebruikt. Deze bits moeten vergelijken met hun bijbehorende hardwired invoer PIN. De A2, A1 en A0 pinnen gebruikt een interne private circuit dat hen tot een lage toestand van logica, vooroordelen als de pinnen zijn toegestaan te zweven.

De achtste bit van het apparaatadres is de lees/schrijf werking select bit. Een leesbewerking wordt gestart als een schrijfbewerking wordt ingeleid als deze bit laag is en dit stukje hoog is.

2. Lees functie

Een willekeurige lees vereist een "dummy" byte volgorde te laden in de adres gegevens woord schrijven. Zodra het apparaat adres word en gegevens woord adres zijn klokte in en bevestigd door de EEPROM, moet de microcontroller genereren een andere start-voorwaarde.

De microcontroller nu initieert een huidige adres lezen door het sturen van het apparaatadres van een met de

lezen/schrijven selecteert u beetje hoog. De EEPROM erkent het apparaatadres en serieel klokken

het woord van de gegevens. De microcontroller niet reageert met een nul maar genereert een volgende

Stop-voorwaarde

 read_EEPROM = function (self, devadr, memadr, length) adrh=bit.rshift(memadr, 8) adrl=bit.band(memadr,0xff) i2c.start(self.id) i2c.address(self.id, self.address, i2c.TRANSMITTER) i2c.write(self.id, adrh) i2c.write(self.id, adrl) i2c.stop(self.id) i2c.start(self.id) i2c.address(self.id, self.address, i2c.RECEIVER) c=i2c.read(self.id, length) i2c.stop(self.id) print(c) return c end 

3. de functie van het schrijven

Een schrijfbewerking nodig twee 8-bit data word adressen volgens het apparaat adres woord en bevestiging. Na ontvangst van dit adres, zal de EEPROM weer reageren met een nul en vervolgens klok in de eerste 8-bit gegevenswoord. Na ontvangst van het 8-bits gegevenswoord, de EEPROM zal de uitgang van een nul en de adressering apparaat, zoals een microcontroller, de volgorde van de schrijven met een stop-voorwaarde moet beëindigen.

Op dit tijdstip die de EEPROM een intern-getimede treedt cyclus, tWR, naar de niet-vluchtig geheugen te schrijven. Alle ingangen zijn uitgeschakeld tijdens dit schrijven-cyclus en de EEPROM reageert niet totdat de schrijfbewerking voltooid is

 write_EEPROM = function (self, devadr, memadr, edata) i = 1 length = string.len(edata) adrh=bit.rshift(memadr, 8) adrl=bit.band(memadr,0xff) i2c.start(self.id) i2c.address(self.id, self.address, i2c.TRANSMITTER) i2c.write(self.id, adrh) i2c.write(self.id, adrl) --print(edata) --debug only --print(string.byte(edata,1)) --debug only while i<=length do tmr.wdclr() i2c.write(self.id,string.byte(edata,i)) i = i+1 end i2c.stop(self.id) end 

Gerelateerde Artikelen

ATtiny85 met I2C EEPROM gebruiken

ATtiny85 met I2C EEPROM gebruiken

dit is een eenvoudige setup voor het gebruik van een I2C EEPROM met de ATtiny85. Er zijn veel sites die het gebruik van I2C eeprom schetsen, maar er zijn enkele nuances bij het gebruik van een ATtiny85 die zich voordoen vanwege het ontbreken van echt
Magic 8 Ball Esp8266 en I2c LCD-scherm met

Magic 8 Ball Esp8266 en I2c LCD-scherm met

Ik dacht dat het zou een beetje leuk om te maken een Magic 8 Ball met behulp van een Arduino en een i2c LCD-scherm, dus hier zijn sommige instructies op hoe dit te doen.Stap 1: Spullen die je zal nodigVan een soort Arduino (ik gebruik een esp8266 maa
I2C EEPROM toevoegen aan Arduino

I2C EEPROM toevoegen aan Arduino

een EEPROM aansluiten op de Arduino is heel eenvoudig en de gemakkelijkste manier om dat te doen is via een I2C bus. EEPROMs komen in vele vormen, maar de 24 LS256 of 24LC256 is een goede keuze, want het is makkelijk te gebruiken en vrij goedkoop (85
Werelds goedkoopste I2C (I-Squared-C) Adapter

Werelds goedkoopste I2C (I-Squared-C) Adapter

maken een sensor interface voor uw computer voor onder een buck!Update 6/9/08: na het verkennen van de verschillende wegen heb ik geconcludeerd dat er is geen enkele praktische wijze van uitvoering van deze techniek in Microsoft Windows. Dit is geen
Besturen van een Robot van de Zumo met behulp van de ESP8266

Besturen van een Robot van de Zumo met behulp van de ESP8266

In deze tutorial zullen we laten zien hoe de ESP8266-12 -module gebruiken om te bepalen van een Zumo robot met een iOS -apparaat. Als u de andere drie tutorials op de ESP module al niet hebt uitgecheckt, is het aan te raden u de volgende tutorials op
Eenvoudige EEPROM Module voor Arduino of andere microcontroller

Eenvoudige EEPROM Module voor Arduino of andere microcontroller

EEPROMs van pas komen als u sommige gegevens opslaan wilt zonder verliezen. Vele microcontrollers komen met enkele interne EEPROM, maar zoals EEPROMs een eindige (hoewel zeer groot) aantal schrijft voordat hebben ze beginnen steeds defect, mijn anaal
Arduino Nano: Controle geborsteld gelijkstroommotor met L9110S Driver Board en Visuino

Arduino Nano: Controle geborsteld gelijkstroommotor met L9110S Driver Board en Visuino

Gelijkstroommotoren geborsteld worden vaak gebruikt voor station robots rond, of voor diverse andere koele Arduino projecten. Om te controleren de motor met Arduino, moet u meestal een motor stuurprogramma gebruiken. Er zijn een heleboel verschillend
Upgrade Your PS3 Hard Drive

Upgrade Your PS3 Hard Drive

ik ga over de stappen die betrokken zijn bij de vervanging van de voorraad harde schijf in een Playstation 3 met een groter exemplaar. Ik vermeden doen dit voor een lange tijd, want ik in de veronderstelling was dat het de garantie zou vervallen. Ver
Monteren van een externe harde schijf

Monteren van een externe harde schijf

deze tutorial leert u hoe een eenvoudige, goed functionerende externe harde schijf, met behulp van een externe harde schijf case en een interne harde schijf te monteren. U leert hoe om te upgraden of herstellen van een oude harde schijf, en hoe te bo
LED-matrix met behulp van shift registers

LED-matrix met behulp van shift registers

dit instructable is bedoeld om te worden een meer volledige uitleg dan anderen beschikbaar online. Met name zorgt dit voor meer uitleg van de hardware dan is beschikbaar in de LED lichtkrant instructable door led555.DoelstellingenDit instructable pre
LED - Mega klok

LED - Mega klok

Stap 1: Materiaallijst (alles wat u nodig hebt)Voor de behuizingDrie 300x300mm x 3mm dikte acryl glas (zwart)Één 300x300mm x 3mm dikte acryl glas (trasparent)Acrylglas lijm en PoolsTwintig 15 mm afstandhouders M3 draadTwintig M3 schroeven + sluitring
De omgekeerde Andycache (reverse geocache Androïde-aangedreven)

De omgekeerde Andycache (reverse geocache Androïde-aangedreven)

voor degenen die niet weten, is het Omgekeerde Geocache puzzel een puzzel box die opent slechts wanneer het vak genomen naar een vooraf gedefinieerde locatie. U weet niet wat de locatie is, hebt u een beperkt aantal pogingen en de Schepper vak haat u
Bus Pirate 3EEPROM explorer bestuur

Bus Pirate 3EEPROM explorer bestuur

als je een van de Hack een dagje Bus Pirates, wat doe je ermee? Informatie over 1-wireen I2C, SPI EEPROMs met de 3EEPROM explorer bestuur (we noemen het de THR-EE-PROM).EEPROM is een soort spaander van het geheugen opslag van gegevens zonder een onon
102 - RBG LED

102 - RBG LED

Hier is de tweede tutorial aan de slag met de kern van de vonk, als u nieuw bij de kern van de vonk bent en zijn op zoek naar de knipperende LED-tutorial, kunt u controleren tutorial een. In deze tutorial ben ik bezig met RGB LED's zijn een onder de