pomoc i2c

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
eeprom24c02
Posts: 1
Joined: 02-03-2013, 21:25

pomoc i2c

Post by eeprom24c02 »

Ako moze mala pomoc, imam zadatak da odradim I2C komunikaciju PIC16f628a i eeprom 24c02 u microC-u, problem je sto 628 nema I2C komunikaciju pa moram da radim softversku ali ne mogu da odradim sledece:
I2C_Repeated_Start() -kao i
while (!I2C_Is_Idle())
asm nop;
nemam softverske naredbe za to.
Unaprijed hvala.
jazz
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 207
Joined: 21-10-2010, 21:18
Location: Hrvatska

Re: pomoc i2c

Post by jazz »

A da možda probaš google...

http://www.microchipc.com/sourcecode/#i2c
User avatar
VooDooX
Pocetnik na forumu
Pocetnik na forumu
Posts: 25
Joined: 09-10-2011, 19:57
Location: Slovenia

Re: pomoc i2c

Post by VooDooX »

ja sam si za eprome napravio sledecu funkciju :

Code: Select all

void e_write(unsigned char address,unsigned int data_) {
    Soft_I2C_Start();
    Soft_I2C_Write(0xA2); // chip addy  + write
    Soft_I2C_Write(address); // ee addy
    Soft_I2C_Write(Hi(data_));
    asm CLRWDT;
    //delay_ms(10);
    Soft_I2C_Write(Lo(data_));
    Soft_I2C_Stop();
    delay_ms(10);

}


unsigned int e_read(unsigned char address) {
    unsigned int ret;
    delay_ms(10);
    Soft_I2C_Start();
    Soft_I2C_Write(0xA2); // chip addy + w
    Soft_I2C_Write(address); // ee addy
    Soft_I2C_Start();
    asm CLRWDT;
    Soft_I2C_Write(0xA3); // chip addy + r

    hi(ret) = Soft_I2C_Read(1);
    lo(ret) = Soft_I2C_Read(0);

    Soft_I2C_Stop();
    return ret;
}
i onda kad zelim nesto zapisat ukucam :

Code: Select all

e_write(adresa,data);
a za citanje :

Code: Select all

timer[countdown_set] = e_read(0); 
za repeated start samo jos jednom stavis komandu Soft_I2C_Start();. mislim da isto pise i u mikroc help-u. funkcija koju sam napisao je za branje i pisanje integera jer sam to trebao kod zadnjeg projekta i bez problema moze se napravit da pise i bere char-ove.
Post Reply