ATTiny USI I2C introductie - een krachtige, snelle en gemakkelijke communicatie-interface voor uw ATTiny projecten! (5 / 8 stap)

Stap 5: ATTiny USI I2C Code uitvoering - USI Hardware


Dus, voordat we kijken naar code, laten we kijken naar het gegevensblad.  Specifiek I 'm looking at het gegevensblad ATTiny2313, want dat is de chip ik gebruik, maar dezelfde USI hardware kan worden gevonden in veel verschillende modellen van de ATTiny.  Merk op dat de pennen verschillen tussen chips kunnen, maar anders de hardware werkt op dezelfde manier en de dezelfde registers heeft.

De USI hardware heeft drie pinnen:

DOEN - gegevens Output, gebruikt voor drie-draads (SPI) communicatie-modus alleen

DI/SDA - Data Input/seriële Data, gebruikt als SDA in I2C configuratie

USCK/SCL - klok, gebruikt als SCK in I2C configuratie

Daarnaast, heeft de hardware USI drie registreert:

USIDR - USI Data Shift Register - verschuivingen gegevens binnen en buiten de USI hardware

USISR - USI Status registreren - heeft staat vlaggen en 4-bits teller (meer hierover hieronder)

USICR - USI besturingselement registreren - interrupt maakt, klok modi en klok strobe softwarefuncties

4-bits teller

De teller 4-bits beslaat de 4 lage bits van USISR en wordt gebruikt om de overloop interrupts, wanneer die in slave-modus actief, alsmede om te helpen bij het genereren van SCK klok pulsen in master-modus.  Wordt een 4-bits teller, telt het omhoog van 0 tot en met 15 vóór overlopen.  Op overlopen, kan het leiden tot een interrupt (USI_OVERFLOW_vect, ingeschakeld door een beetje in USICR).  Dit wordt gebruikt voor de tabel USI slavenstaat binnen de Unie om bij te houden transmissie als er wordt overgeschakeld tussen transmissie-Staten (meer hierover in het gedeelte van de code slaaf).

Wanneer die fungeert als een master, wordt de teller 4-bits gebruikt samen met de klok strobe bit in USICR voor het genereren van het SCK-klok.  U stelt de teller overloopt in het aantal pulsen van de klok wilt genereren (meestal 8 of 1, met 8 wordt een gegevensoverdracht en 1 wordt een ACK/NACK transmissie).  Vervolgens, u lus tot de teller overstorten, voortdurend het instellen van de klok strobe bit en het uitvoeren van een vertraging wachten.  Meer hierover kan worden gezien in de master codesectie.

Twee draads klok regeleenheid (Start voorwaarde Detector)

De regeleenheid van de TWI-klok is een module in de USI die het SCK-lijn voor start monitoren en stop voorwaarden.  Het primaire doel is het starten van voorwaarde detector, die, wanneer ingeschakeld, genereert een interrupt USI_START_vect wanneer het detecteert een geldige start-voorwaarde.  Deze interrupt handler is het startpunt voor de slave-modus USI I2C transmissie behandeling, en de teller 4-bits overloopt nadat het adres transmissie opgetreden moet instellen.  Vanaf daar op, de overflow interrupt beheert de rest van dat I2C-bericht en stelt de start-voorwaarde detector voor het volgende bericht.

Lees het gegevensblad

Ik zal niet in detail ingaan op elk van de bits in elk van deze registers, maar als u op zoek bent in het schrijven van sommige USI code is het essentieel dat u Lees deze secties van het gegevensblad.  Ik beveel het lezen van de gehele universele seriële Interface - USI sectie (blz 142-150 van het volledige gegevensblad ATTiny2313).  Dit krijgt u alle informatie die u nodig naast wat ik heb gezegd hier.

Gerelateerde Artikelen

Verscherpen van een mes, snel en gemakkelijk

Verscherpen van een mes, snel en gemakkelijk

als u een carbide getipt zag blade, heb je een uitstekend hulpmiddel voor het slijpen van een mes, snel en gemakkelijk.  Alleen klem aan een tafelblad of het lock op je zag de arbor, zodat het niet draaien.Stap 1: Teken het mes-rand tegen een tand ca
Hoe maak je een krachtige, snelle "USS Hornet"!

Hoe maak je een krachtige, snelle "USS Hornet"!

Dit is mijn eerste Instructable, dus alle opmerkingen zijn welkom (positief en negatief, zolang ik feedback te krijgen!).Anyway, ik zal u tonen hoe maak je een goede papieren "USS Hornet"! Ik zie een heleboel Instructables zeggen kun je alleen g
Hoe aan te scherpen een beitel snel en gemakkelijk

Hoe aan te scherpen een beitel snel en gemakkelijk

Dit instructable is gonna verlenen u een snel en relaible manier om een scherpe rand op uw beitels.U zult;Norton India cobination steen maat 8 "x 2". Dit heeft een grijze 'plat' kant en een orangey bruin "fine" kant. Deze methode werkt
Verscherpen van een mes met een schaar (snel en gemakkelijk)

Verscherpen van een mes met een schaar (snel en gemakkelijk)

zag je al die instrueren-ables waarvoor schuurpapier of sommige aardewerk? Mij persoonlijk niet hebben die tot rond alle de tijd (bijvoorbeeld op het werk, op school)Wilt u nog steeds een snelle en vuile manier om het slijpen van je mes.Dat is waar s
Hoe een gebruiker snel en gemakkelijk toe te voegen

Hoe een gebruiker snel en gemakkelijk toe te voegen

Dit is mijn allereerste instructable okook is het gewoon om toe te voegen gebruikers verwijderen gebruikers enzovoort thxStap 1: Stap 1 of ietsZorg ervoor dat u opdrachtprompt oknu hebt u die openen als je op school bent dit gewoon werken, tenzij het
Snelle en gemakkelijke homestead gebruikt voor Plastic flessen (PET)

Snelle en gemakkelijke homestead gebruikt voor Plastic flessen (PET)

In de niet al te verre verleden, zou je melk, frisdrank, etc. in glazen flessen die u naar de winkel retourneren wilt te worden gesteriliseerd en opnieuw gebruikt. Nu, met onze wegwerp cultuur, plastic flessen hebben dit systeem vervangen en bijgevol
Goedkoop, snel en gemakkelijk LCD vervanging voor Samsung Galaxy S3

Goedkoop, snel en gemakkelijk LCD vervanging voor Samsung Galaxy S3

Had een incident en mijn telefoon geraakt op de perfecte hoek te breken van het LCD-scherm. Na veel zoekopdrachten besloten heb ik dat ik mezelf kon vervangen. Het inschakelen, de onderste rij verlicht en de LED-licht nog werkte. Ik heb niet alles op
Snel en gemakkelijk toetsenblok correctie (voor de meeste mobiele telefoons)

Snel en gemakkelijk toetsenblok correctie (voor de meeste mobiele telefoons)

de meesten van ons hebben mobiele telefoons en van tijd tot tijd hebben we de neiging te laten vallen of ze misschien te behandelen met een minder-dan-delicate manier. Op zijn beurt zal de celtelefoon rebelleren en stoppen met functioneren.Hedendaags
Snelle en gemakkelijke bluetooth-handset voor skype

Snelle en gemakkelijke bluetooth-handset voor skype

gekocht voor de Motorola HS820 headsets zoals voorgesteld in een andere instructable en het geplant in een traditionele telefoontoestelDit is echt een prototype tot ik vind een mooie 'klassieke' toestel. Slechts enkele vrijdagmiddag onzin in het kant
Make A snel en gemakkelijk fiets rek voor reparaties

Make A snel en gemakkelijk fiets rek voor reparaties

iedereen met een fiets vroeg of laat zult moeten doen sommige reparaties/onderhoud aan de fiets.  Het is echt lastig om te werken op hen, zelfs als ze een kick stand hebben.  U moet zitten kundig voor het uitstappen van de grond en beide handen gebru
Snel en gemakkelijk Taggy Buddy voor uw kleine één

Snel en gemakkelijk Taggy Buddy voor uw kleine één

deze zijn super makkelijk en leuk om te maken. :)Hebt u nodig:Papier (voor patroon)2 stuks van fleece3 of 4 verschillende soorten lint in 3" gesneden stukkenschaarNaaimachineStap 1: Maak een patroon Beslissen wat voor soort buddy u zou willen maken (
Snelle en gemakkelijke tazer, maken te laten uitzien als een USB-dongle

Snelle en gemakkelijke tazer, maken te laten uitzien als een USB-dongle

dit is een eenvoudige, snelle en gemakkelijke manier een te maken een die is bedoeld om te lijken op een USB-dongle. Zijn echt gemakkelijk te maken.Vereisten:AanstekerUSB-Dongle (ieder zal doen, ik gebruikte een gebroken)3 x schroevenEen hamerEen sch
SNEL en gemakkelijk NOTEBOOK PENNENHOUDER

SNEL en gemakkelijk NOTEBOOK PENNENHOUDER

dit is mijn eerste Instructable, dus ik ben benieuwd naar feedback...Ik wilde altijd een snelle en gemakkelijke pennenhouder vinden voor mijn zak notebooks en diaries (degene met een zakje de achtercover - zoals Moleskine, Leuchtturm 1917, of een van
Snelle en gemakkelijke knuppel decoraties

Snelle en gemakkelijke knuppel decoraties

HalloZijn die tijd van het jaar weer werden we uit de zwarte roos in bulk te breken!In dit instructable ga ik u tonen hoe te maken van een snelle en gemakkelijke Bat decoratie voor uw huis.Het is echt eenvoudig, dus kinderen kunnen doen, duurt ongeve