本帖最后由 mobile01 于 2012-4-9 16:10 编辑
不使用 XBYTE 方式,请问怎么改比较正确?
void clsram(void)
{
volatile u8 xdata *addr;
addr = 0x2000;
printf("The RAM is Bad. Addr=0x%04X,Read=0x%02X
",(u16)addr,(u8)(*addr) & 0xff));-->错误?
运行后显示 (The RAM is Bad. Addr=0x2000,Read=0x7E00)
为什么 Read = 0x7f00 不是 0x7f?
(....0x%02X <==(u8)((*addr) & 0xff)错误?)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>