C5029(E)预期表达式

时间:2014-11-07 00:24:29

标签: c struct

我正在研究热敏电阻的查找表,但我遇到了以下错误:

C5029(E)预期表达式

以下是我正在使用的环境和工具的一些信息: -Renesas RX111微控制器 -e2studio程序环境使用C语言 来自瑞萨的-E1调试器 - 参考:http://coactionos.com/embedded%20design%20tips/2013/10/03/Tips-ADC-Thermistor-Circuit-and-Lookup-Table/

以下是我尝试实施的代码:

/**********************************************************************/
#define TABLE_SIZE 24

typedef struct
{
    float x;
    float y;
} dsp_lookup_f_t;

float dsp_lookup_f(const dsp_lookup_f_t * table, float x, int size)
{
    int i;
    float m;
    i = 0;

    // find the two points in the table to use
    while((i < (size)) && (x > table[i].x))
    {
        i++;
    }

    // make sure the point isn't past the end of the table
    if(i == size)
    {
        return table[i-1].y;
    }

    // make sure the point isn't before the beginning of the table
    if(i == 0)
    {
        return table[i].y;
    }

    // calculate the slope
    m = (table[i].y - table[i-1].y) / (table[i].x - table[i-1].x);
    // this is the solution to the point slope formula
    return m * (x - table[i].x) + table[i].y;
}

dsp_lookup_f_t my_table[TABLE_SIZE] = 
{

    { .x= 18373 , .y= -40   }, 
    { .x= 56654 , .y= -35   }, 
    { .x= 87176 , .y= -30   }, 
    { .x= 111321 , .y= -25  },
    { .x= 130338 , .y= -20  },
    { .x= 145291 , .y= -15  },
    { .x= 157048 , .y= -10  },
    { .x= 166307 , .y= -5   },
    { .x= 173618 , .y= 0    },
    { .x= 179412 , .y= 5    },
    { .x= 184019 , .y= 10   },
    { .x= 187698 , .y= 15   },
    { .x= 190651 , .y= 20   },
    { .x= 193029 , .y= 25   },
    { .x= 194955 , .y= 30   },
    { .x= 196521 , .y= 35   },
    { .x= 197801 , .y= 40   },
    { .x= 198851 , .y= 45   },
    { .x= 199716 , .y= 50   },
    { .x= 200433 , .y= 55   },
    { .x= 201029 , .y= 60   },
    { .x= 201526 , .y= 65   },
    { .x= 201943 , .y= 70   },
    { .x= 202292 , .y= 75   }
};

/**********************************************************************/

我遇到的问题是桌子。我对设计结构没有太多经验,但我使用了前面提到的参考来帮助我使用这段代码。我不确定我是否遗漏了一些明显的东西,但有没有人有任何建议指出我正确的方向?我很感激任何人提供的任何意见。

1 个答案:

答案 0 :(得分:0)

我明白了。我只需要从表中删除“.x =”和“.y =”。