请教,取ROM存RAM问题,困扰一周了。
我的程序思路是根据汉字内码,从ROM中取出其点阵,然后立刻存入RAM中。我得程序主要部分如下:
for (start=0;start <32;start++)
{
StoreBuffer[i].TempArray[n][start]=XBYTE[TempAddr+start];
}
其中StoreBuffer[i].TempArray[n][start]是存入RAM的结构数组变量;XBYTE[TempAddr+start]是从ROM中取字库点阵;
问题:这样做可以从ROM中取对1K左右数据(因为我用的P89C51RD2单片机,其内部集成了768字节XRAM)。
经在论坛上求助,有大侠建议改用指针,如下:
uchar xdata *pRam;
uchar code *pRom;
pRam=StoreBuffer[i].TempArray[n]; //
pRom=&((uchar code *)TempAddr); //TempAddr为ROM字库地址(0—1024)
for (start=0;start <32;start++)
{
*pRam++=*pRom++;
}
结果这样做,根本就取不到数据。请教高手,紧急等待中。。。。。。
发表时间:2003年3月24日13:56:03