【发布时间】:2021-09-07 07:02:12
【问题描述】:
我正在尝试将结构变量传递给函数,但我收到:
error: conflicting types for 'referenzspannung'
void referenzspannung(struct ADMESSUNG *mess) {
^~~~~~~~~~~~~~~~
在我的measure.h我写了原型:
void referenzspannung(struct ADMESSUNG *mess);
在measure.c 中有结构+函数:
struct ADMESSUNG {
unsigned long Coderef;
double Uref;
double Stcal;
double Offset;
unsigned long Temperaturcode;
double Temperaturavin;
double RTD;
double R;
double Tempwert;
unsigned long Phcode;
double Phavin;
double Stprobe;
double PHWert;
};
struct ADMESSUNG mess;
void referenzspannung(struct ADMESSUNG *mess) {
AD7793_SetIntReference(AD7793_REFSEL_INT);
AD7793_SetExcitDirection(AD7793_DIR_IEXC1_IOUT2_IEXC2_IOUT1);
AD7793_SetExcitCurrent(AD7793_EN_IXCEN_210uA);
AD7793_SetChannel(AD7793_CH_AIN3P_AIN3M);
mess->Coderef = AD7793_ContinuousReadAvg(50);
mess->Uref = ((mess->Coderef / 8388608) - 1) * 1.17; // code in voltage
}
然后在我的main.c 中调用该函数:
referenzspannung(struct ADMESSUNG *mess);
有人看到错误吗?我认为我做所有事情的顺序都是正确的,而且我有来自多个网站的语法。
【问题讨论】:
-
referenzspannung(struct ADMESSUNG *mess);不是怎么调用函数,它看起来更像是一个函数声明,只不过没有返回类型而已。 -
你不叫它。你定义它。
-
那我该怎么称呼它呢?我希望它为其他函数计算 Uref
-
老实说,几乎任何体面的书籍、教程或课程都应该教你如何调用函数。我什至打赌你之前调用过很多函数(例如
scanf和printf),没有任何问题。 -
你最喜欢的C入门级书籍将在“函数”一章中演示如何调用函数...