以前这样可以的
uint bnm; //16位变量
uchar bnmh,bnml; //变量的高8位,低8位
void main()
{
bnmh=bnm/256;
bnml=bnm%256;
bnm=bnmh*256+bnml;
IapErase(0x0400); //扇区擦除
IapProgram(0x0400,bnmh); //保存高8位
IapProgram(0x0401,bnml); //保存低8位
}
以前STC15F单片机保存后读出的数正常。现在用STC8G2K64S4,保存读出不正常了。频率提高了,发现要调整的地方都调了。其它功能正常,就这个16位变量结果不对。
各位还有其它方法吗? |