导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→怎么对扩展的RAM做全地址的检测[richardxwb]

 *第5514篇: 怎么对扩展的RAM做全地址的检测

  
楼 主:richardxwb 2007年7月18日17:00
 怎么对扩展的RAM做全地址的检测
//在主程序运行要对扩展的RAM做全地址的检测,先找到起始地址
#define EXTRAM (*((volatile unsigned char *) 0x80000000))
//然后写:EXTRAM = 0x55.读:temp = EXTRAM;在比较if(temp == 0x55){};
有一个问题我怎么让RAM的地址依次向下执行.直到最大地址.
  
2楼:ncsm 2007年8月1日00:51
 如下检测
#define EXTRAM 0x80000000    //定义指向RAM起始地址的指针
#define EXTRAMSPACE 0x40000    //这里是你自己定义的要检测的RAM的大小

int i;

//通过各单元填写0x55和0xAA,可检测各个位是否都可置0和置1
//通过交替改写,可检测是否有地址重叠
for(i = 0; i   < EXTRAMSPACE; i++)    //所有单元填0x55
{
    *((volatile unsigned char *)(EXTRAM + i)) = 0x55;
}

for(i = 0; i   < EXTRAMSPACE; i++)
{
    if(*((volatile unsigned char *)(EXTRAM + i)) == 0x55)
    {
        *((volatile unsigned char *)(EXTRAM + i)) = 0xAA;
    }
    else
    {
        //错误处理
    }
}

for(i = 0; i   < EXTRAMSPACE; i++)    //回读所有单元
{
    if(*((volatile unsigned char *)(EXTRAM + i)) == 0xAA)
    {
        *((volatile unsigned char *)(EXTRAM + i)) = 0x00;
    }
    else
    {
        //错误处理
    }
}


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

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


[上一篇主题]:[求助]谁有简易2位计算器的程序~~~~~单片机的~

[下一篇主题]:供应验布机对边控制器