导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→从RAM的任意起始地址(64K范围内)开始存数据,为何只能存[boysen]

 *第9303篇: 从RAM的任意起始地址(64K范围内)开始存数据,为何只能存1K左右

  
楼 主:boysen 2003年3月25日09:38
 从RAM的任意起始地址(64K范围内)开始存数据,为何只能存1K左右
从RAM的任意起始地址(64K范围内)开始存数据,为何只能存1K左右,再往前就没有存储数据。哪位大侠遇到国这样的情况????
  
2楼:老古 2003年3月25日09:45
 不可能的,具体的程序?
  
3楼:boysen 2003年3月25日10:00
 是这样的
我单独测试RAM写操作,完全没有问题,写入的数据完全读出,都是正确的。
但是我得程序是根据上位机发送过来的汉字内码从ROM读出字库点阵,每读出一个字节,存入RAM一次,程序如下:
void DisposalData()
      {               
         uchar start,n,i;
        uint pRam;    
     for (i=0;i  <200;i++)
          {  
   //汉字内码处理。。。。。。比较复杂(略)
        for (n=0;n  <4;n++)       //n为汉字字数◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
           {
            pRam=&StoreBuffer[i].TempArray[n];  //StoreBuffer[i].TempArray[n]为存于RAM的结构数组变量
      
              for (start=0;start  <32;start++)
                    {                
                        //StoreBuffer[i].TempArray[n][start]=XBYTE[TempAddr+start];  //直接数组操作
                       //*pRam++=XBYTE[TempAddr+start]; //用指针操作          
                       XBYTE[pRam+start]=XBYTE[TempAddr+start];  //注:上述三个语句结果是一样的
              }           
 
             }
              }
       }


  
4楼:老古 2003年3月25日10:07
 使用多少点阵字库?i为什么要0到200?
  
5楼:boysen 2003年3月25日10:10
 i从0到200,只是LCD有200屏显示数据而已,通过上位机发送了200屏汉字的内码
  
6楼:boysen 2003年3月25日10:12
 忘了说,是32点阵字库
  
7楼:老古 2003年3月25日10:16
 分析了你的程序,程序应该是对的,估计是硬件问题,比如地址冲突
  
8楼:老古 2003年3月25日10:11
 我估计不是程序的问题,而是你可能除了接ram之外还接了lcd,有地址冲突
  
9楼:boysen 2003年3月25日10:15
 我是从串口接收完内码后立刻进行内码处理
把200屏内码全部转化成点阵,存入RAM中,然后显示的时候只从RAM读取就可以了。所以说,接LCD的显示端虽然跟P0口公用,但是是分时的。存储完后才显示,所以我想应该不会冲突吧
  
10楼:老古 2003年3月25日10:17
 有冲突的,最好加一个io脚控制片选
  
11楼:boysen 2003年3月25日10:25
 我这里用373进行了复用,显示得经过锁存信号得。我再研究研究,谢谢老古大侠!

>>>>>>对该主题发表你的看法

本主题贴数11,分页: [第1页]


[上一篇主题]:请教高手:zlg7289连续送显时,显示出错

[下一篇主题]:laogu您好,询问以太网开发板(PCI)事宜。