OV-Watch
OV-Watch copied to clipboard
Bug in DataSave.c
如果使用这样的代码调用
uint8_t data[10] = {1,2,3};
EEPROM_Init();
SettingSave(data, 0x0, 10);
SettingGet(data, 0x0, 10);
data前两个值会发生改变,变成 0x55, 0xAA,最好将函数修改成这样
//to Save the settings
uint8_t SettingSave(uint8_t *buf, uint8_t addr, uint8_t lenth)
{
if(addr > 1 &&!EEPROM_Check())
{
delay_ms(10);
BL24C02_Write(addr,lenth,buf);
return 0;
}
return 1;
}
//to Get the settings
uint8_t SettingGet(uint8_t *buf, uint8_t addr, uint8_t lenth)
{
if(addr > 1 && !EEPROM_Check())
{
delay_ms(10);
BL24C02_Read(addr,lenth,buf);
return 0;
}
return 1;
}
是的,为了防止错误使用应该改成这样,可以pull request一下
pull request 了,git 好复杂😉