谈谈DSP的绝对地址访问。

技术分类: 微处理器与DSP  | 2008-07-24
作者:azmao: EDN China

  EDN博客精华文章  作者:azmao

  虽然我不喜欢在高级语言中访问绝对地址。今天有个网友问我绝对地址的访问。我决定试试。

  成功了。

  #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改成你想要的地址不就完了。

  ^_^,自己把自己绕进去了。不过也好,又进步了一把。

0
0
(请您对文章做出评价)
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会