新人请教,完全没有思路了
芯片是STC32G12K128
定义了四个变量
unsigned int xdata M2N_at_ 0x0008;
unsigned int xdata M2NH_at_ 0x0008;//这里写错,应该用char 而不是int,不过结果很神奇
unsigned int xdata M2NL_at_ 0x0009;
unsigned int xdata M2N2 _at_ 0x000A;
unsigned int xdata M2N2H _at_ 0x000A;
unsigned int xdata M2N2L_at_ 0x000B;
unsigned int xdata M2N3 _at_ 0x000C;
unsigned int xdata M2N3H_at_ 0x000C;
unsigned int xdata M2N3L_at_ 0x000D;
unsigned int xdata M2N4 _at_ 0x000E;
unsigned int xdata M2N4H_at_ 0x000E;
unsigned int xdata M2N4L_at_ 0x000F;
赋值后,
M2N=0x8000;
M2N2=0x7CB3;
M2N3=0x8000;
串口输出
AURT(0XAA);AURT(M2N3>>8);AURT(M2N3);AURT(M2N2>>8);AURT(M2N2);AURT(M2N>>8);AURT(M2N);AURT(0XAA);
写入EEPROM,接着读出
EEPROM_cha(0x000200);
EEPROM_XIE(0x000200,0x0008,8);//将0x0008-0x000F 写到EEPROM的 512-519位 void EEPROM_XIE(unsigned long addr,unsigned char xdata *DataAddress, unsigned int number)
EEPROM_du(0x000200,0x0008,8); //将EEPROM512-519位读到 0x0008-0x000F void EEPROM_du(unsigned long addr,unsigned char xdata *DataAddress, unsigned int number)
串口输出:
AURT(0XBB); AURT(M2N3>>8);AURT(M2N3); AURT(M2N2>>8);AURT(M2N2); AURT(M2N>>8);AURT(M2N); AURT(0XBB);
AURT(0XCC); AURT(M2N3H);AURT(M2N3L); AURT(M2N2H);AURT(M2N2L); AURT(M2NH);AURT(M2NL); AURT(0XCC);
想法是AA串应该与BB串相同,与CC串不同,因为CC串变量 高位低位用的不是char型,而是int
结果:很神奇的是AA串与BB串不同,但是与CC串相同,
读写EEPROM用的是手册案例里面的函数,请问一下是哪里出了问题?
页:
[1]