[PIC] Funções para acesso de EEPROM 24CXX no MikroC

Hoje disponibilizo duas funções para acesso a memórias I2C 24C02, mas com algumas modificações também é possível acesso a outras memórias semelhantes.

Esse código usa a bliblioteca do MikroC I2C, portanto utiliza o I2C por Hardware.

Código Testado no PIC18F4520.

Código Fonte

// Função que escreve na memória 24C04
void Escrita_24C04(unsigned char ucEndereco,unsigned char ucValor)
{
   I2C1_Init(100000);         // Freqüência de clock
   I2C1_Start();              // Start no barramento i2c
   I2C1_Wr(0xA0);             // Endereço da memória no hardware do kit (w = 0)
   I2C1_Wr(ucEndereco);       // Endereço da eeprom onde será salvo o dado
   I2C1_Wr(ucValor);          // Escreve valor da variável 'ucValor' na 24c04
   I2C1_Stop();               // Finaliza a comunicação I2C
}
// Função que faz a leitura da memória 24C04
unsigned char Leitura_24C04(unsigned char ucEndereco)
{
   unsigned char ucLeitura;  // Temporário para leitura da memória 24C04.

   I2C1_Start();             // start no barramento i2c
   I2C1_Wr(0xA0);            // endereço da memória no hardware do kit (w = 0)
   I2C1_Wr(ucEndereco);      // endereço da eeprom onde será lido o byte
   I2C1_Repeated_Start();    // re-start no barramento
   I2C1_Wr(0xA1);            // endereço da memória no hardware do kit (w = 1)
   ucLeitura = I2C1_Rd(0u);  // Lê o byte
   I2C1_Stop();              // finaliza a comunicação I2C
   return(ucLeitura);        // Retorna Valor da leitura.
}

Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[PIC] Funções para acesso de EEPROM 24CXX no MikroC
Tags:                         

Deixe uma resposta

%d blogueiros gostam disto: