OV-Watch icon indicating copy to clipboard operation
OV-Watch copied to clipboard

Bug in DataSave.c

Open Lingxicheng opened this issue 1 year ago • 2 comments

如果使用这样的代码调用

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;
}

Lingxicheng avatar Jan 02 '25 09:01 Lingxicheng

是的,为了防止错误使用应该改成这样,可以pull request一下

No-Chicken avatar Jan 04 '25 07:01 No-Chicken

pull request 了,git 好复杂😉

Lingxicheng avatar Jan 05 '25 13:01 Lingxicheng