求助,EEPROM写入错误?
第一次用片上EEPROM,配置文件参考手册编写,向EEPROM内写入数据,写入错误,在加入串口打印写入数据后才正常写入。代码如下IapErase(0x0000);
IapErase(0x0001);
IapErase(0x0002);
IapErase(0x0003);
Parameter_Storage=Display_Graphics_Num;
Parameter_Storage=RED_LIGHT;
Parameter_Storage=Display_X;
Parameter_Storage=Display_Y;
IapProgram(0x0000,Parameter_Storage);
UART1_SendData(0xEE);
UART1_SendData(Parameter_Storage);
IapProgram(0x0001,Parameter_Storage);
IapProgram(0x0002,Parameter_Storage);
IapProgram(0x0003,Parameter_Storage);
UART1_SendData(0xDD);
UART1_SendData(IapRead(0x0001));
// UART1_SendData(0xEE); 此处代码有疑问,需要询问STC客服解决
// UART1_SendData(IapRead(0x0001));
}
直接用我们的范例程序 https://www.stcaimcu.com/forum.php?mod=attachment&aid=ODg3MnwwZDc4OTI3ZnwxNjk4ODkxMzUxfDE3fDE1MjU=
本帖最后由 32位8051-STCAI 于 2024-3-20 09:08 编辑
提供下使用的具体型号,可以用范例测试下
32位8051-STCAI 发表于 2024-3-20 08:50
提供下使用的具体型号,可以用范例测试下
使用示例调了,也这样{:cry:} 国学芯用 发表于 2024-3-20 08:49
直接用我们的范例程序 https://www.stcaimcu.com/forum.php?mod=attachment&aid=ODg3MnwwZDc4OTI3ZnwxNjk ...
中午回去试一试,谢谢 1、擦除是按扇区擦除,前四行执行结果一样,去掉其中三行;不过这个不影响你的结果
2、加入哪行串口打印后才正常写入的?
3、IapErase、Parameter_Storage、IapRead是否用的官方代码?时钟是否设置正确? 21cnsound 发表于 2024-3-20 09:38
1、擦除是按扇区擦除,前四行执行结果一样,去掉其中三行;不过这个不影响你的结果
2、加入哪行串口打印后 ...
时钟6M,已经修改了,iaperase是当时找问题的时候加的,没删,中午回去再检查一下问题 先用官方测试程序,测试一下,没有问题再移植 小飞侠 发表于 2024-3-20 12:28
先用官方测试程序,测试一下,没有问题再移植
问题解决了,擦扇区0的时候IapErase(0x0000);就会读0x26,写不进去,IapErase(0x0001);就可以了
页:
[1]