Decagon设备上Arduino Uno和SDI-12接口之间的编码错误

Decagon设备上Arduino Uno和SDI-12接口之间的编码错误,arduino,arduino-uno,sdi-12,Arduino,Arduino Uno,Sdi 12,我最近一直在和我的Arduino Uno一起进行一个项目,使用土壤电导率传感器(Decagon设备的5TE传感器)。我已经准备好编写代码,并找到了(当您向下滚动页面时,示例代码就在那里)。尝试在最新版本的Arduino上运行时,它给了我以下编译错误: sketch_dec15a:7: error: expected initializer before 'void' sketch_dec15a:4: error: 'SDISerial' does not name a type sketch

我最近一直在和我的Arduino Uno一起进行一个项目,使用土壤电导率传感器(Decagon设备的5TE传感器)。我已经准备好编写代码,并找到了(当您向下滚动页面时,示例代码就在那里)。尝试在最新版本的Arduino上运行时,它给了我以下编译错误:

sketch_dec15a:7: error: expected initializer before 'void'

sketch_dec15a:4: error: 'SDISerial' does not name a type

sketch_dec15a:9: error: expected initializer before 'void'

sketch_dec15a.ino: In function 'void loop()':

sketch_dec15a:22: error: 'connection' was not declared in this scope
注意:我相信我正确安装了库,但不是100%确定…更像是85%


代码有什么问题以及如何使其工作?

示例代码是错误的。看看编译错误。它说的第一件事是:

sketch_dec15a:7: error: expected initializer before 'void'
所以它的意思是,它发现了一些表示“void”的东西,并希望先看到其他东西<代码>无效在您的代码中只出现两次,所以我们离您不远了。让我们来看看它周围的代码,第一个代码<空> <代码>:

char tmp_buffer[4];
char sensor_info[]
//initialize variables
void setup(){
      connection.begin();
      Serial.begin(9600);//so we can print to standard uart
      //small delay to let the sensor do its startup stuff
      delay(3000);//3 seconds should be more than enough
}
就在
void setup(){
之前是
//初始化变量
。这只是一个注释,而不是代码,因此它并不真正起作用。回头再看一行,我们会看到:

char sensor_info[]
该行有问题。请继续操作,看看您是否能找到它(查看其他行的“提示”)。如果您无法找到它,答案就在下面(将鼠标放在上面查看):

它需要在语句末尾加一个分号“;”。由于缺少分号,它认为“void setup(){”是前一个语句的一部分


对不起,我的错,我将用示例代码解决问题:P谢谢@nateowami我想我实际上是想删除整行代码…因为它在该代码中的任何地方都没有使用example@JoranBeasley没问题,我有点惊讶我能想出它。:)我只是想为OP概述如何理解编译错误。是时候“排版错误”了flag我猜…是你安装的…自述文件中的示例代码有点不正确…很抱歉…现在已经修复了