Keil C51 编译错误 undefined identifier

Posted DaSunWarman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keil C51 编译错误 undefined identifier相关的知识,希望对你有一定的参考价值。

一、问题

使用Keil C51编译,总是提示编译错误

CUST_TASKS.C: ‘irDataPsn‘: undefined identifier

代码如下,irDataPsn明明定义了,还提示没定义,编译不过。

void vCUST_PSN_IrTask(IR_DATA_TYPE irData, IR_DATA_TYPE irData1)
{
    UINT8 ret;
    IR_DATA_TYPE irDataPsn;
    LogSD("vCUST_PSN_IrTask ", _MGetIrType());
    if(_MGetIrType()!=IRRX_PSN_TYPE)
    {
        LogD(irData);
        return;
    }
    IR_DATA_TYPE irDataPsn;

    irDataPsn = irData >> 24 + irData1 & 0x0000FFFF << 8;

二、解决

void vCUST_PSN_IrTask(IR_DATA_TYPE irData, IR_DATA_TYPE irData1)
{
    UINT8 ret;
    IR_DATA_TYPE irDataPsn;
    LogSD("vCUST_PSN_IrTask ", _MGetIrType());
    if(_MGetIrType()!=IRRX_PSN_TYPE)
    {
        LogD(irData);
        return;
    }
   // IR_DATA_TYPE irDataPsn;

    irDataPsn = irData >> 24 + irData1 & 0x0000FFFF << 8;

如上,要把定义写在最上面,编译通过。应该是C51编译器没那么强大,所以限制多。

以上是关于Keil C51 编译错误 undefined identifier的主要内容,如果未能解决你的问题,请参考以下文章

keil c51编译器怎么有的文件出错时,双击错误提示没有定位到错误行,有的文件就可以,怎么回事

Keil C51编译报错error C141: syntax error

keil 4编译C51程序出现警告:UNRESOLVED EXTERNAL SYMBOL SYMBOL: DATA 求解释。

在keil环境中遍了一段C51的程序后怎么编译?

Keil C51里关于堆栈指针的处理

使用KEIL C51 V9.00调试软件在LM3S6965中运行时,编译无法生成axf文件,报错如下图