ATTiny USI I2C inledning - en kraftfull, snabb och bekväm kommunikationsgränssnitt för ATTiny projekt!
I2C används ofta i GPIO expandrar, EEPROM/Flash memory chips, temperaturgivare, realtids klockor, LED drivers och massor av andra komponenter. Om du tillbringar mycket tid söker nya, coola delar kommer du förmodligen hamnar med flera I2C delar. Lyckligtvis är det ett protokoll som är tillgängliga på de flesta microcontrollers, men det är lite mer komplicerade än andra. Lära sig det är tufft på först, men när vet du I2C är ett kraftfullt verktyg.
I2C verktyg av intresse:
Innan du gräver för djupt in i I2C kommunikation, ska du ha vissa saker på sidan som gör din inlärning erfarenhet lättare.
1. olika I2C-kompatibla delar - allt är tillåtet, så länge det är I2C. Om du skriver en master förare behöver du några saker att prata med. Jag gillar Texas Instruments TMP100 temperaturgivare som det är billigt (gratis om du prova) och har ett enkelt protokoll (bara skicka en I2C Läs kommando att få temp värden). Jag köpte nyligen några mikrochip MCP23017 GPIO expandrar som ger dig 16 bitar av ytterligare GPIO över I2C bussen.
2. något som har en fungerande I2C master - du något att testa/jämför mot om möjligt. En Arduino med Wire biblioteket kommer att fungera, men nyligen jag föredrar min Raspberry Pi med Linux i2ctools paketet. i2cdetect, i2cset, i2cget och i2cdump är ovärderliga när du skriver koden, särskilt slav-läge.
3. oscilloskop. Jag vet att detta är en stor en, men om du kan arbeta med en (äger en, låna en, eller gå till ett labb där du kan använda en) det är en super fantastiska hjälp. I2C använder två ledningar, så en två-kanals omfattning fungerar bra. Jag använde min Rigol DS1052E (100Mhz modded) och det hjälpte en TON. Naturligtvis, jag gjorde det mesta av arbetet med det och berättar vad jag lärt mig, så förhoppningsvis kommer det vara lättare för dig.