初级会员

- 积分
- 139
- 金钱
- 139
- 注册时间
- 2015-11-10
- 在线时间
- 34 小时
|
1金钱
今天敲代码发现一个奇葩问题:在用内部flash做eeprom保存数据时发现:
u8 Set_dev_ID[12]={0}; //全局变量
void usartPacketRecv(void)
{
u8 Get_DevId_Buf[12]={0};
if(GetId_Flag) //获取唯一ID
{
GetId_Flag=0;
memcpy(Get_DevId_Buf,PackRecvData,strlen((char *)PackRecvData));
EEPROM_write_str_change(DEV_ID_ADD,Get_DevId_Buf,12);//保存
memcpy(Set_dev_ID,Get_DevId_Buf,12);
}
}
以上是代码,发现:memcpy(Set_dev_ID,Get_DevId_Buf,12); Get_DevId_Buf有数据,但Set_dev_ID全是0XFF。不知道为什么?
其实我本来是EEPROM_write_str_change(DEV_ID_ADD,Set_dev_ID,12);直接通过Set_dev_ID保存的,但发现Set_dev_ID全是0XFF,也保存不进去,才采用局部变量的,
不知道有没有遇到同样问题的???
|
|