打印

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

[复制链接]
4874|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吧,是说不能解析本表达式。

使用特权

评论回复
5
西安农民工| | 2012-4-17 23:23 | 只看该作者

没有错误啊!

使用特权

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

本版积分规则

31

主题

46

帖子

0

粉丝