//===============================================================================//
//                     Datos a la EEPROM                                        //
//=============================================================================//
void Mad_EEPROM(uint8_t dat)
{
  if(WR_Mer_L==0xFF)
     {WR_Mer_H++;}

  I2c_start();
  WR_EEPROM(DIR_WR);//Se le dice a la EEprom que se le va a escribir
  WR_EEPROM(WR_Mer_H);//Dierrcion alta de la EEPROM
  WR_EEPROM(WR_Mer_L);//Dirrecion baja de la EEPROM
  WR_EEPROM(dat);
  WR_Mer_L++;
  TWCR=_BV(TWINT)|_BV(TWEN)|_BV(TWSTO);
  PORTB=dat;

}
Пример #2
0
void wr_ID(void)
{
    uint16_t ID = 0x0000;
    ID = rd[SN_Data_1] ;
    ID = (ID  & 0x00FF)<<8;
    ID = ID + (rd[SN_Data_2] & 0x00FF);

    WR_EEPROM(ID,ID_ADDRESS);
    delay_ms(3);
    Response(Error);
}
uint8_t Read_EEPROM(void)
{
 uint8_t dat;
 WR_EEPROM(DIR_RD); //Dirrecioon de la memoria para leer
 TWCR=_BV(TWINT)|_BV(TWEN);
 loop_until_bit_is_set(TWCR,TWINT);
 dat=TWDR;

 return dat;

}
//========================================================================//
//                          Leer EEPROM                                  //
//======================================================================//
void leer_EEPROM(void)
{
uint8_t dat;
 if(RD_Mer_L==0xff)
   {
     RD_Mer_H++;}

 _delay_ms(3);
  I2c_start();
  WR_EEPROM(DIR_WR);//Dirrecion de la memoria para escuribir en la memoria
  WR_EEPROM(RD_Mer_H);//Dirrecion Alta de la EEPROM
  WR_EEPROM(RD_Mer_L);//Dirrecion baja de la EEPROM

  I2c_start();

  dat=Read_EEPROM();

Lcd_pixel(p_x,p_y,dat);
Lcd_pixel(p_x,p_y,dat);
Lcd_pixel(p_x,p_y,dat);

PORTB=dat;
    if(p_y==132)
   {
     p_x++;
     p_y=0;
   }
  if(p_x==132)
  {
     p_x=0;
  }
p_y++;
RD_Mer_L++;


TWCR=_BV(TWINT)|_BV(TWEN)|_BV(TWSTO);

}