liyongyong 发表于 2016-5-6 09:05

*(LOOKUPTABLE_A+i)=0x0400+i*0x20; //设置A区32个接收子地址


下面这句话什么意思呢谁能给小弟解释一下
#define LOOKUPTABLE_A                  ((unsigned int *)(0x4000 0000+ 0x0500))

        for(i=0;i<=31;i++)
       
        *(LOOKUPTABLE_A+i)=0x0400+i*0x20;        //设置A区32个接收子地址

xyz549040622 发表于 2016-5-7 07:59

指针操作,直接给地址赋值。(0x4000 0000+ 0x0500)这个应该是A区存放接收子地址的首地址。

liyongyong 发表于 2016-5-10 17:04

xyz549040622 发表于 2016-5-7 07:59
指针操作,直接给地址赋值。(0x4000 0000+ 0x0500)这个应该是A区存放接收子地址的首地址。 ...


#define            Addr_Mem (0x40040000)
#define          STACK_A            (unsigned int *)(Addr_Mem))

        那这*(STACK_A +0x1)=0x11111;是向那个地址赋值呢? 是0x40040004地址呢 还是0x40040001地址呢?
同理下面这个
*(STACK_A +i )=0x11111;;是向那个地址赋值呢? 是(0x40040000+ i *4 )地址呢
还是(0x40040000+ i)地址呢?
页: [1]
查看完整版本: *(LOOKUPTABLE_A+i)=0x0400+i*0x20; //设置A区32个接收子地址