pic18f452把12864图片定义到rom中,但是在前面加上const rom后程序运行无法读取到图片

2019-03-25 19:01发布

本帖最后由 790095673 于 2016-4-27 19:38 编辑

我用的是MCC18编译器,百度过,说定义到rom中的语言为const rom uchar(图片数组),而不是单const就可以,但是烧写在实物中后,在数组前面加上rom,128*64不能显示,不加的话就可以,想知道这是为嘛?求告知!!!感激不尽!!!难道写进rom后读取的方式不一样么?
  1. void lcd_pic(unsigned char *adder1)   //将图片写入12864
  2. {
  3.           unsigned int x,y,i;
  4.               unsigned int tmp=0;
  5.                for(i=0;i<10;){                //分两屏,上半屏和下半屏,因为起始地址不同,需要分开
  6.                for(x=0;x<32;x++){                                //32行
  7.                            TransferData(0x34,0);
  8.                            TransferData((0x80+x),0);//列地址
  9.              TransferData((0x80+i),0);        //行地址,下半屏,即第三行地址0X88
  10.                              TransferData(0x30,0);               
  11.                              for(y=0;y<17;y++)        
  12.                                               TransferData(adder1[tmp+y],1);//读取数据写入LCD
  13.                                    tmp+=16;               
  14.                     }
  15.                      i+=8;
  16.             }
  17.        TransferData(0x36,0);        //扩充功能设定
  18.             TransferData(0x30,0);
  19. }  
复制代码不加rom关键字的话,编译不通过,需要把p18f452.lkr文件里面的databank的地址修改了才可以,所以想把这个图片常量保存到rom中,但是就是不行,求答案,谢谢!!!

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。