关于这个语法的应用(void (*)())

[复制链接]
2875|3
 楼主| 王培1 发表于 2008-12-14 16:15 | 显示全部楼层 |阅读模式
请教一下,我在一个DEMO里面看见这样的一个应用"DMA0DA = (void (*)())MemstartTest; " 其中#define MemstartTest 0x40000 这个DMA0DA是个32位的特殊寄存器,从字面上的意思我明白是把MemstartTest地址作为开始的地址,在CW里面应该怎么写呢??我试了 试,在CW里面提示我内型不匹配
computer00 发表于 2008-12-14 16:48 | 显示全部楼层

看你的DMA0DA怎么定义的。这个是强制类型转换,把整数转换

  
 楼主| 王培1 发表于 2008-12-15 09:22 | 显示全部楼层

那我该怎么写呢CW里面

楼上朋友说的有点道理,DMA0DA是个特殊寄存器,32位的,这DMA0DA = (void (*)())MemstartTest;这句的意思就是要这个地址作为开始的地址,小生刚学c不久,不知道怎么把这句写到CW里面,可否告之
computer00 发表于 2008-12-15 12:35 | 显示全部楼层

如果DMAODA是个寄存器,那么应该可以直接赋值

DMA0DA =MemstartTest;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

142

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部