C 限定类型

C 限定类型,c,C,我有一个从I2C压力传感器读取数据的程序。我在构建项目时遇到以下错误:“PressureSensord”的类型冲突” 在声明压力传感器之前,您尝试调用它。因此,函数被隐式声明为int pressuresesensord()。这与函数的实际定义相冲突 您需要在getI2CPumpPressure之前为压力传感器添加声明: STATIC_DECL I2C_RESULT PressureSensorRd(uint8_t devReg8, uint16_t *pRdDataDest); void ge

我有一个从I2C压力传感器读取数据的程序。我在构建项目时遇到以下错误:“PressureSensord”的类型冲突”


在声明压力传感器之前,您尝试调用它。因此,函数被隐式声明为
int pressuresesensord()
。这与函数的实际定义相冲突

您需要在
getI2CPumpPressure
之前为
压力传感器添加声明:

STATIC_DECL I2C_RESULT PressureSensorRd(uint8_t devReg8, uint16_t *pRdDataDest);

void getI2CPumpPressure(UINT32 index)
{
    uint16_t value = 0;
    uint8_t delete = 0;
    I2C_RESULT    result;

    result = PressureSensorRd(delete, &value);
}


STATIC_DECL I2C_RESULT PressureSensorRd(uint8_t devReg8, uint16_t *pRdDataDest)
{
    ...

在声明压力传感器之前,您尝试调用它。因此,函数被隐式声明为
int pressuresesensord()
。这与函数的实际定义相冲突

您需要在
getI2CPumpPressure
之前为
压力传感器添加声明:

STATIC_DECL I2C_RESULT PressureSensorRd(uint8_t devReg8, uint16_t *pRdDataDest);

void getI2CPumpPressure(UINT32 index)
{
    uint16_t value = 0;
    uint8_t delete = 0;
    I2C_RESULT    result;

    result = PressureSensorRd(delete, &value);
}


STATIC_DECL I2C_RESULT PressureSensorRd(uint8_t devReg8, uint16_t *pRdDataDest)
{
    ...