MikroC - I2C - 24LC512

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

MikroC - I2C - 24LC512

Mensagempor roquetti » 21 Ago 2009 09:14

pessoall,
Bom dia,
Alguém tem algum exemplo em MikroC de I2C para comunicar com memória 24LC512?
Obrigado
Paulo Roquetti
roquetti
Byte
 
Mensagens: 183
Registrado em: 27 Dez 2008 23:07
Localização: Jaguariúna - SP

Mensagempor tcpipchip » 21 Ago 2009 10:19

Tenho aqui...

Sei que funciona pq ja fiz um painel de mensagens com o mikroc e guardava as mensagens na 24LC256

No main() nao esqueca
I2C_Init(100000);

void SI2C_Write(unsigned int ee_adr, unsigned char dat)
{
I2C_Start(); // Issue I2C start signal
I2C_Wr(0xA0); // Send byte via I2C (device address + W)
I2C_Wr(ee_adr / 256); // Send byte (data address)
I2C_Wr(ee_adr % 256); // Send byte (data address)
I2C_Wr(dat); // Send byte (device address + R)
I2C_Stop();
delay_ms(10);
dat = SI2C_Read(ee_adr);
}

unsigned char SI2C_Read(unsigned int ee_adr)
{
unsigned char result;

I2C_Start(); // Issue I2C start signal
I2C_Wr(0xA0); // Send byte via I2C (device address + W)
I2C_Wr(ee_adr / 256); // Send byte (data address)
I2C_Wr(ee_adr % 256); // Send byte (data address)
I2C_Repeated_Start(); // Issue I2C signal repeated start
I2C_Wr(0xA1); // Send byte (device address + R)
result = I2C_Rd(0u); // Read the data (NO acknowledge)
I2C_Stop();
return(result);
}
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor roquetti » 21 Ago 2009 10:29

tcpipchip escreveu:Tenho aqui...

Sei que funciona pq ja fiz um painel de mensagens com o mikroc e guardava as mensagens na 24LC256


tcpipchip
valeu! vou montar o restante e testar, obrigado.
Paulo Roquetti
roquetti
Byte
 
Mensagens: 183
Registrado em: 27 Dez 2008 23:07
Localização: Jaguariúna - SP

Mensagempor roquetti » 21 Ago 2009 12:31

tcpipchip escreveu:Tenho aqui...

Sei que funciona pq ja fiz um painel de mensagens com o mikroc e guardava as mensagens na 24LC256


}


Tô precisando das seguintes bibliotecas 24C04.h, 24C256.h e 24LC512.h, em mikroC, estou procurando na internet mas ainda não consegui, se puder me enviar agradeço.
Paulo Roquetti
roquetti
Byte
 
Mensagens: 183
Registrado em: 27 Dez 2008 23:07
Localização: Jaguariúna - SP

Mensagempor tcpipchip » 21 Ago 2009 16:54

nao necessita de include #.h...
as rotinas que te passei valem para i2c com endereços acima de 255 (2 bytes)
para i2c com endereço abaixo de 256 (1 byte)
use as rotinas abaixo, mas botei um // comentario no que nao vais necessitar...

void SI2C_Write(unsigned int ee_adr, unsigned char dat)
{
I2C_Start(); // Issue I2C start signal
I2C_Wr(0xA0); // Send byte via I2C (device address + W)
I2C_Wr(ee_adr / 256); // Send byte (data address)
//I2C_Wr(ee_adr % 256); // Send byte (data address)
I2C_Wr(dat); // Send byte (device address + R)
I2C_Stop();
delay_ms(10);
dat = SI2C_Read(ee_adr);
}

unsigned char SI2C_Read(unsigned int ee_adr)
{
unsigned char result;

I2C_Start(); // Issue I2C start signal
I2C_Wr(0xA0); // Send byte via I2C (device address + W)
I2C_Wr(ee_adr / 256); // Send byte (data address)
//I2C_Wr(ee_adr % 256); // Send byte (data address)
I2C_Repeated_Start(); // Issue I2C signal repeated start
I2C_Wr(0xA1); // Send byte (device address + R)
result = I2C_Rd(0u); // Read the data (NO acknowledge)
I2C_Stop();
return(result);
}
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor roquetti » 22 Ago 2009 01:26

é, eu consegui fazer funcionar sem o .h, é isto mesmo, consegui achar na própria instalação do MikroC vários exemplos,
Muito obrigado pela ajuda.
Abração.
roquetti
Byte
 
Mensagens: 183
Registrado em: 27 Dez 2008 23:07
Localização: Jaguariúna - SP


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x