打印

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

[复制链接]
2408|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

粉丝