pic16f946程序编译出现can't generate code for this expression

[复制链接]
6404|4
 楼主| jpg4151 发表于 2012-4-17 09:35 | 显示全部楼层 |阅读模式
typedef void (*Function)(void);
void main(void)
{
    Function proc;
    unsigned long u16;
   
    proc = u16;
    proc();
   
    while (1)
    {
    }
}
编译后提示Error   [712] E:\zhf\programme\pic\test 2012.4.17\main.c; 9. can't generate code for this expression 在keil下编译没问题
SLEET1986 发表于 2012-4-17 09:45 | 显示全部楼层
proc = u16;这个是函数指针,不能这样赋值的
 楼主| jpg4151 发表于 2012-4-17 10:08 | 显示全部楼层
这种写法在keil下编译没问题。即使写成proc = (Function)u16; 编译后也是提示同样的错误。
Ryanhsiung 发表于 2012-4-17 19:33 | 显示全部楼层
这种写法在keil下编译没问题。即使写成proc = (Function)u16; 编译后也是提示同样的错误。
jpg4151 发表于 2012-4-17 10:08

写错了,你怎么可以这么写!
你在KEIL可以不代码他是对了,芯片大部分编译器都是基于标准C写的,但基本都有做修改。

附:can't generate code for this expression 你用的是PICC吧,是说不能解析本表达式。
西安农民工 发表于 2012-4-17 23:23 | 显示全部楼层

没有错误啊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

46

帖子

0

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