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

关于DT512中PAGED RAM的问题

关于DT512中PAGED RAM的问题

由于项目中8Kram空间用完了,所以只能使用paged ram中剩余24K空间。

#prama DATA_SEG __GPAGE_SEG PAGED
uchar a;
uchar array[100];
#prama DATA_SEG DEFAULT
在出程序中定义
uchar * __far b;
b=&a;
b+1;//这样第一确实取到了a的地址,其中包含了GPAGE的值,这种是OK的
memset((uchar *)array,1,100); //这样就会有问题,因为memset这个函数输入的变量是uchar * ,
就算改成memset((uchar *_far)array,1,100); 还是会被转换成uchar *,导致输入的地址不对,
不知有什么好的办法能解决这个问题。
修改函数memset()中变量的定义试试?
海纳百川  有容乃大
2# strongchen
我自己写了个MEMSET的函数,这个问题算是解决了,
但是在用c++的时候,发现this指针的类型是不能改成__rptr的,如果对象定义在paged ram中,那么this指针是指不到的,有谁知道如何解决啊?
真是个好帖子啊=V=
DS18B20|lm7805|LM2596|tl084]
返回列表