 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
tonko Član


Pridružen-a: Sob 25 Jun 2005 13:45 Prispevkov: 541 Aktiv.: 2.28 Kraj: Črnomelj
|
Objavljeno: Pon Avg 14, 2006 10:09 pm Naslov sporočila: Zakaj mi ne pošlje i2c stop condition ? |
|
|
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 |
|
 |
AlesH Član

Pridružen-a: Pon 20 Mar 2006 21:20 Prispevkov: 16 Aktiv.: 0.07
|
Objavljeno: Čet Avg 17, 2006 1:37 pm Naslov sporočila: |
|
|
Ž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 |
|
 |
|
|
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
|