共2条
1/1 1 跳转至页
xwj 请教xwj以及其他各位高手

问
换页也简单啊!
void get_hzdot(unsigned char hh,unsigned char ll)
{
unsigned char xdata* addr;
unsigned char i;
unsigned char page;
WDKEY=0x55;
addr=0x8000+8*((((hh-0xa1)*94+ll-0xa1)*3)%4096);
page=(((hh-0xa1)*94+ll-0xa1)*3/4096);
PSD8xx_reg.PAGE=page;
flash_reset();
for(i=0;i<24;i++)
{
if(addr==0xFFFF)
{
hanzi_dot[i]=*addr;
PSD8xx_reg.PAGE=page+1;
addr=0x8000;
}
else
hanzi_dot[i]=*addr++;
}
} 答 1: 如果字库没问题应该能正常显示的程序没问题啊,就算用寻址公式:
offset=(((hh-0xa1)*94+ll-0xa1)*24)%(32*1024);
page=(((hh-0xa1)*94+ll-0xa1)*24)/(32*1024);
Keil计算的结果也是对的,只是代码大些,慢一些
void get_hzdot(unsigned char hh,unsigned char ll)
{
unsigned char xdata* addr;
unsigned char i;
unsigned char page;
WDKEY=0x55;
addr=0x8000+8*((((hh-0xa1)*94+ll-0xa1)*3)%4096);
page=(((hh-0xa1)*94+ll-0xa1)*3/4096);
PSD8xx_reg.PAGE=page;
flash_reset();
for(i=0;i<24;i++)
{
if(addr==0xFFFF)
{
hanzi_dot[i]=*addr;
PSD8xx_reg.PAGE=page+1;
addr=0x8000;
}
else
hanzi_dot[i]=*addr++;
}
} 答 1: 如果字库没问题应该能正常显示的程序没问题啊,就算用寻址公式:
offset=(((hh-0xa1)*94+ll-0xa1)*24)%(32*1024);
page=(((hh-0xa1)*94+ll-0xa1)*24)/(32*1024);
Keil计算的结果也是对的,只是代码大些,慢一些
共2条
1/1 1 跳转至页