如果这是一个愚蠢的问题(可能是),我深表歉意,但我很难让函数正常工作。
我的代码:
#define photoPin A0
char photoCode[] = "L";
void loop(void) {
analogSensor(photoPin, photoCode);
delay(5000);
}
void analogSensor(int sensorPin, char* sensorCode) {
//Poll the Photo Cell and append that to the buffer
int sensorValue=analogRead(sensorPin);
Serial.print(sensorCode);
sprintf(buf + strlen(buf), "," + sensorCode + ":%04i", sensorValue);
}
当我尝试编译它时,我收到以下消息:
In function 'void analogSensor(int, char*)':
i2c_Sensor:104: error: invalid operands of types 'const char [2]' and 'char*' to binary 'operator+'
但是,如果我注释掉 sprintf 行,它编译得很好,并且每隔 5 秒,屏幕上就会打印出一个“L”。最终,我很困惑,因为所有人都出去了,现在不知道该转向哪里。
任何帮助表示赞赏。