www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Zakaj mi ne pošlje i2c stop condition ?

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
tonko
Član
Član



Pridružen-a: Sob 25 Jun 2005 13:45
Prispevkov: 541
Aktiv.: 2.28
Kraj: Črnomelj

PrispevekObjavljeno: Pon Avg 14, 2006 10:09 pm    Naslov sporočila: icon_disgusting Zakaj mi ne pošlje i2c stop condition ? Odgovori s citatom

i2c komunikacija z 24lc256 mi sicer deluje , ni pa mi jasno zakaj mi LPC2136 ne pošlje stop condition , ki ga želim poslati takoj po inicializaciji na i2c bus.
To bi rad naredil iz tega razloga: Če med branjem iz eeproma pride do reseta mikrokontrolerja v trenutku ko je SDA linija na '0' potem moram najprej poslati toliko CLOCKOV da se SDA linija sprosti na '1' , zatem pa bi poslal še "stop_i2c()".

Koda:


void InitI2C(void) //INICIALIZACIJA I2C REGISTROV
 {
   I2CONCLR = 0xFF;
   PINSEL0  |= 0x50;    //  Set pinouts as scl and sda

   I2SCLL   = 18;   //speed 400Khz
   I2SCLH   = 19;

   I2CONSET = 0x40; //Active Master Mode on I2C bus

  i2c_stop();
  return;
 }

void i2c_stop(void)                    //SEND STOP CONDITION
 {
    I2CONCLR = SI;      //Clear INTERRUPT SI
    I2CONSET = STO;   //STOP CONDITION
    while(I2CONSET & STO);
 }
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
AlesH
Član
Član



Pridružen-a: Pon 20 Mar 2006 21:20
Prispevkov: 16
Aktiv.: 0.07

PrispevekObjavljeno: Čet Avg 17, 2006 1:37 pm    Naslov sporočila:   Odgovori s citatom

Živjo

Ne vem zakaj skušaš poslati 'stop condition' preden se sploh začne komunikacija. Sicer nisem noben ekspert za I2C vodilo, vendar menim, da lahko 'stop condition' pošlješ šele po začeti komunikacji in to samo ob določenih kodah v I2CSTAT registru, ki jih seveda prebereš ob prekinitvah. Za Master Transmitter mode in Master Receiver mode so te kode v UM10120 na streneh 130 in 131.

Bp Aleš
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 496 dni


Powered by phpBB © 2001, 2005 phpBB Group