打印

追能帮我解释这段程序,要详细点

[复制链接]
2010|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
suoluoji|  楼主 | 2010-9-14 17:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 suoluoji 于 2010-9-14 17:23 编辑

for(i=dstAddr;i<dstAddr+length;i+=4)
    {
     memSum1+=*((U32 *)i)=i^0x55aa5aa5;
    }

这是DMA中的一段程序,memSum1初值为0,类型为volatile U32

相关帖子

沙发
xinzha| | 2010-9-14 21:54 | 只看该作者
x = i^0x55aa5aa5   ;这个不用解释了吧
*((U32 *)i) = x; 将整数i强转为指向U32的指针,并将 i 这个指针所指向的地址的内容置为x,举个例子,当i =0时,这个表达式是将地址0的内容改为x,而i本身的地址可能是在0x10000000,i本身并没有发生任何改变

使用特权

评论回复
板凳
suoluoji|  楼主 | 2010-9-16 16:23 | 只看该作者
谢啦,当初看程序时有点不解,现在彻底的明白了

2# xinzha

使用特权

评论回复
地板
lanmanck| | 2010-9-16 16:30 | 只看该作者
恩,看成2段就行了

使用特权

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

本版积分规则

0

主题

22

帖子

1

粉丝