打印

在C51里绝对地址访问可以 a=XBYTE[0x00aa],在ARM里如何实现。

[复制链接]
3355|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuyaqi|  楼主 | 2009-1-19 21:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来自 2楼
xuyaqi|  楼主 | 2009-1-22 20:34 | 只看该作者

开发板原理图

使用特权

评论回复
板凳
computer00| | 2009-1-19 22:47 | 只看该作者

你自己找到XBYTE的定义就明白了...就是一个指针而已

使用特权

评论回复
地板
xuyaqi|  楼主 | 2009-1-19 23:25 | 只看该作者

为什么在MDK ARM中编译通不过?程序如下:

#include <LPC23xx.H>

#define RAMADDR  0x80000000  ;  //外部RAM的基址。

#define    uchar unsigned char
#define uint  unsigned int
#define ulong unsigned long


void ExternRam(void)
{
 volatile uint *buf;//
 uint data[512];
 uint i;
 
 for (i=0x00;i<512;)
   {
     buf=(volatile uint *) (RAMADDR | i<<1);//
     *buf=i;
     i++;
   }
}

int main(void)
{
  ExternRam();
  while(1)
  {
   
  }
}

使用特权

评论回复
5
阿南| | 2009-1-19 23:50 | 只看该作者

看看错误信息

使用特权

评论回复
6
奇门遁甲| | 2009-1-20 01:06 | 只看该作者

re

#define RAMADDR  0x80000000  ;
后面不应该有“;”的

使用特权

评论回复
7
xuyaqi|  楼主 | 2009-1-20 08:39 | 只看该作者

感谢大家的帮助,问题已解决,uint应该unint

使用特权

评论回复
8
computer00| | 2009-1-20 09:51 | 只看该作者

也可以不借助中间变量,直接强制转换后就操作它

for (i=0x00;i<512;i++)
{
 ((volatile uint *)(RAMADDR))=i;
}

也可以像keil那样定义一个宏。

使用特权

评论回复
9
古道热肠| | 2009-1-20 16:34 | 只看该作者

尽量用厂家提供的底层硬件操作函数

用inline《内联》功能,不影响效率,直接操作底层,让人理解费劲,要看数据手册。

使用特权

评论回复
10
xuyaqi|  楼主 | 2009-1-20 21:43 | 只看该作者

最终在LPC2378外挂8位SRAM开发板调试成功的程序

/*
LPC2378开发板 外加8位SRAM_IS63LV1024演示程序

作者:xuyaqi@169cnc.com
*/

#include <LPC23xx.H>

#define RAMADDR  0x80000000    //外部RAM的基址。

#define    unchar unsigned char
#define unint  unsigned int


void ExternRam(void)
{
 unchar data[256];
 unint i;
 unchar rr;

for (i=0x00;i<256;)
   {
    ((volatile unchar *)(RAMADDR))=i;
    i++;
   }

 
 for (i=0x00;i<256;)
   {
     data=((volatile unchar*)(RAMADDR));//
     i++;
   }

  rr=data[1];
  rr=rr;
}

int main(void)
{
  //init_port();//IO初始化

  ExternRam();//外SRAM读写

  while(1)
  {
   
  }
}

使用特权

评论回复
11
古道热肠| | 2009-1-21 11:32 | 只看该作者

哈哈,解决问题就好,楼主能否弄个原理图或照片看看.

使用特权

评论回复
12
xuyaqi|  楼主 | 2009-1-22 20:27 | 只看该作者

看截图与照片

使用特权

评论回复
13
xuyaqi|  楼主 | 2009-1-22 20:29 | 只看该作者

再发照片

使用特权

评论回复
14
xuyaqi|  楼主 | 2009-1-22 20:45 | 只看该作者

背面存贮芯片

使用特权

评论回复
15
古道热肠| | 2009-2-1 11:40 | 只看该作者

好,谢谢共享原理图及效果图

值得嘉奖.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

1638

帖子

6

粉丝