Dependents:
esclavo_maestro
eeprom.cpp
- Committer:
- alejo5214416
- Date:
- 2018-07-27
- Revision:
- 1:837719ffa1dc
- Parent:
- 0:7c54b267cbd3
- Child:
- 2:4fd30af0937d
File content as of revision 1:837719ffa1dc:
// eeprom.cpp file
#include "eeprom.h"
void freq(uint32_t frec)
{
i2c.frequency(frec);
}
int write_data(uint8_t eepr_addr, uint16_t address, uint8_t *ptr_string)
{
i2c.start();
int ack=i2c.write(eepr_addr<<1);
if(ack==1) {
i2c.write(address<<8);
i2c.write(address);
int i=0;
while(ptr_string[i]!=NULL) {
i2c.write(ptr_string[i]);
i++;
}
i2c.stop();
return 1;//success
} else if(ack==0) {
return -1;//NACK
} else if(ack==2) {
return 0;//TIMEOUT
}return 2;
}
uint8_t data_read(uint8_t eepr_addr, uint16_t address_read)
{
uint8_t read;
i2c.start();
int ack=i2c.write(eepr_addr<<1);
if(ack==1) {
i2c.write(address_read<<8);
i2c.write(address_read);
i2c.start();
i2c.write(eepr_addr<<1|0x01);
read=i2c.read(0);
i2c.stop();
return read;
}
return -1;
}