原创 谈谈DSP的绝对地址访问。

2008-7-24 20:33 4411 7 7 分类: 处理器与DSP
虽然我不喜欢在高级语言中访问绝对地址。今天有个网友问我绝对地址的访问。我决定试试。
成功了。
#define   AbsAddress ((volatile Uint16  *)0x100000)  //定义一个指向0x100000的指针
volatile Uint16 *  ptr;//声明一个指针
对其指向单元赋值  *AbsAddress  =100;

在CCS下运行,赋值正确。

虽然成功了,但我还是不推荐大家使用绝对地址访问。
由于AbsAddress是常量不可以更改,应该使用数组或再定义一个指针进行其它地址的访问。
             AbsAddress[Offset] = 101;
对地址指针赋值 ptr = AbsAddress;
下面可以非常方便的这个指针了。
Uint16 i;
 for( i=0;i<=0xf;i++)
      {
       *ptr=i;    //向绝对地址里写数据。
        ptr++;   //绝对地址加1,
      }
回头仔细想一下,还定义什么宏呀。直接用ptr = (volatile Uint16  *)0x100000;那不就完了。还搞了上面那么一大堆的东东。想要啥地址把0x100000改成你想要的地址不就完了。
^_^,自己把自己绕进去了。不过也好,又进步了一把。




PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条