wulin 发表于 2023-9-8 07:34
上述代码表面看没有问题,易出错可能是受中断干扰或放在不恰当的位置,亦或相关读写的函数体有问题。
yzwzfyz 发表于 2023-9-8 08:32
试试 = 高位*256 + 低位
ZSJM 发表于 2023-9-8 09:33
uint 如果真是16位的话,应该没错。
或者,你可以考虑union
zhuls 发表于 2023-9-8 10:51
shu=(IapRead(0x0000)
君工创 发表于 2023-9-8 15:52
我在擦除前关中断
EA=0;
IapErase(0x0000);
fishafish 发表于 2023-9-8 16:34
应该是第三行错了,16位shu存入8位的话,自动四舍五入,其实存的还是高8位
2008_clz 发表于 2023-9-9 09:48
用联合体(uion)做方便,不用考虑这么多
君工创 发表于 2023-9-8 22:41
这个讲法有可能,因为某些数会错,而一些数不会错。
hhh402 发表于 2023-9-8 23:29
数据溢出了,shu=IapRead(0x0000)
Longan.Wang 发表于 2023-9-12 15:16
方法可行,但是后两句错了
uint16_t shu;
uint8_t *p;
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |