Spørsmål om I2C protokollen

S

simrantogether

Guest
Hei alle, Jeg har noen tvil om I2C protokollen etter å gå gjennom opplæringsprogrammer. Vennligst svar: 1. Den I2C slave-enhet har fast adresse av produsenten - eller vi må tilordne den en adresse ... Hvis ja så hvordan. 2. Den eneste hensikten med 'gjentatt start' er bare å ta kontroll over bussen kontinuerlig av skipsføreren ... Vennligst bekreft ... 3. Kan en ikke I2C aktivert mikrokontroller kjøre I2C bussen med den letthet. Hilsen, Simran ..
 
1: En I2C enheten har normalt noen gratis pinner som kan knyttes høyt eller lavt for å stille sin adresse. 2: En reapeated start brukes når du leser data fra en slave. 3: Det er ganske lett å skrive litt bang programvare for å kjøre I2C bussen. Plenty av gratis eksempelkode for det.
 
en. Vennligst referer til dataarket. Hver I2C slave-enhet trenger en adresse for kommunikasjon. Akkurat som hvis du ikke kjenner din venns hus adresse, kan du ikke legge den post (informasjon) til dem. 2. Depend av søknaden. 3. Bruk IO pin å simulere klokken og dataene. f.eks: Turn "1" og "0" for å generere klokke og data. Deretter "lese" IO status for scknowledgement og data. Mer informasjon: http://en.wikipedia.org/wiki/I% C2% B2C
 
Jeg vil svare etter min erfaring med I2C. 1.a) I2C minneenheter ha gratis pinner for at kan knyttes til Vcc eller malt. Du må lese dataarket av enheten. 1.b) Hvis slave enheten er en mikrokontroller, må du etablere sin I2C adresse i kode. 2. Ja, er formålet for den gjentatte start den du har skrevet. Men, kan du definere ditt eget nettverk som er basert på I2C og du kan gi noen annen betydning for gjentatt start. 3. Ja. Du må håndtere i koden tidspunktet for klokke, bits, start, re-start og stopp forhold. Men, som btbass sagt, er det mye kode på internett for dette. Lykke til!
 
Hva vil skje hvis jeg tilordne en fastmode til ICS (som ds1307) som kan jobbe bare i standard modus?
 
hi 1 -> hvis u tar serielle EEPROM for eksempel atmel24c serien, enhetsadressen feltet consiste av 7 biter, blir + 1 bit for lese / skrive signal høyere bite fast IE (1010) en i Hexa desimal der som resten av 4 bits har to formål, er bit0 brukt for signalisering skrive / lese u vil bruke bit0 som 0 hvis ur skriftlig slave-enhet, eller en når ur lesing slave-enhet, hvor som bit1 bit2 og bit3 brukes til å adressere den enheten som u har kablet det for eksempel 24c01 bruker alle tre av bit1, bit2, vil bit3 u måtte hardwire den A0, A1, A2 pins av IC, og gi den aktuelle kombinasjonen å ta ic, dvs. hvis u har kablet A0, A1, A2 som bakken i maskinvare, u vil bruke bit1, bit2, bit3 som 0,0,0 henholdsvis. confiquratoin av bit1, bit2, bit3 er forskjellig for 24C04 og andre PLZ se dataarket. Shakeel 2 -> gjentatt start tilstand kan selv sendte i forhold der u ikke får acknowlge fra slave, for eksempel u sende enhetsadressen for skriving og u får ikke ack fra enheten u kan sende gjentatt starte tilstand og sende adressen igjen 3 -> det er så mange eksempel på nettet for myke I2C gjennomføring
 
Hva bør jeg gjøre hvis WCOL = 1 skjer når utilsiktede skrive til SSPBUF oppstår? Bør jeg vente til SSPBUF er gratis og omskrive SSPBUF eller .. må jeg starte en START tilstand igjen?
 

Welcome to EDABoard.com

Sponsor

Back
Top