首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在CW中怎么实现*(word *)(0xffa0)呢?

在CW中怎么实现*(word *)(0xffa0)呢?

a=*(word *)(0xffa0);编译成汇编后是


  LDHX  160
  STHX  a


把高位地址给忽略了,这是哪里的问题?

有志青年!
*(word *)(0xffa0);这个定义最好有变量名
您的意思是?
volatile unsigned char test @0xffa0;
这样?
然后 调用a=test;
有志青年!
要确认你定义的变量的类型长度
比如word是unsigned int类型的16bit长度,这个在CW中可以设置,变量a也要定义成同样的长度

另外,应用的时候加上volatile修饰符,a=*(volatile word *)(0xffa0);
请问:
a=*(volatile word *)(0xffa0);
这条语句的目的是给变量a分配确定的地址吗?
这语句是指针吧,意思是a指向地址0xffa0.
如:#define AA(x) {\
*(volatile unsigned char *)0x026A = (unsigned char)x;\
}
即定义AA(x)指向0x026A,可以通过写x的值来写入地址0x026A
对不起..
返回列表