1

我正在尝试将 Arduino Playground 中的电容传感器库与 Arduino 1.5.3 一起用于 Intel Galileo。

在尝试编译库的示例 Sketch 时,我收到以下错误:

Arduino: 1.5.3 (Windows 7), Board: "Intel® Galileo"

CapacitiveSensor.cpp:在构造函数“CapacitiveSensor::CapacitiveSensor(uint8_t, uint8_t)”中:CapacitiveSensor.cpp:30:63:错误:“F_CPU”未在此范围内声明 CapacitiveSensor.cpp:43:10:错误:“PinDescription”没有名为“ulPin”的成员 CapacitiveSensor.cpp:44:10:错误:“PinDescription”没有名为“pPort”的成员 CapacitiveSensor.cpp:45:31:错误:“portModeRegister”未在此范围内声明 CapacitiveSensor.cpp: 46:9: 错误: '->' 的基本操作数不是指针 CapacitiveSensor.cpp:48:9: 错误: 'PinDescription' 没有名为 'ulPin' CapacitiveSensor.cpp:49:10: 错误: 'PinDescription'没有名为“pPort”的成员 CapacitiveSensor.cpp:51:9:错误:“->”的基本操作数不是指针 CapacitiveSensor.cpp:52:12: 错误: '->' 的基本操作数不是指针 CapacitiveSensor.cpp:55:18: 错误: 'noInterrupts' 未在此范围内声明 CapacitiveSensor.cpp:57: 16:错误:未在此范围内声明“中断”CapacitiveSensor.cpp:在成员函数“void CapacitiveSensor::set_CS_Timeout_Millis(long unsigned int)”中:CapacitiveSensor.cpp:133:73:错误:未在中声明“F_CPU”此范围 CapacitiveSensor.cpp:在成员函数“int CapacitiveSensor::SenseOneCycle()”中:CapacitiveSensor.cpp:141:18:错误:“noInterrupts”未在此范围内声明 CapacitiveSensor.cpp:151:16:错误:“中断” ' 在这方面没有申明cpp:55:18: 错误: 'noInterrupts' 未在此范围内声明 CapacitiveSensor.cpp:57:16: 错误: 'interrupts' 未在此范围内声明 CapacitiveSensor.cpp: 在成员函数'void CapacitiveSensor::set_CS_Timeout_Millis( long unsigned int)':CapacitiveSensor.cpp:133:73:错误:'F_CPU' 未在此范围内声明 CapacitiveSensor.cpp:在成员函数'int CapacitiveSensor::SenseOneCycle()'中:CapacitiveSensor.cpp:141:18:错误:“noInterrupts”未在此范围内声明 CapacitiveSensor.cpp:151:16:错误:“中断”未在此范围内声明cpp:55:18: 错误: 'noInterrupts' 未在此范围内声明 CapacitiveSensor.cpp:57:16: 错误: 'interrupts' 未在此范围内声明 CapacitiveSensor.cpp: 在成员函数'void CapacitiveSensor::set_CS_Timeout_Millis( long unsigned int)':CapacitiveSensor.cpp:133:73:错误:'F_CPU' 未在此范围内声明 CapacitiveSensor.cpp:在成员函数'int CapacitiveSensor::SenseOneCycle()'中:CapacitiveSensor.cpp:141:18:错误:“noInterrupts”未在此范围内声明 CapacitiveSensor.cpp:151:16:错误:“中断”未在此范围内声明void CapacitiveSensor::set_CS_Timeout_Millis(long unsigned int)': CapacitiveSensor.cpp:133:73: 错误: 'F_CPU' 未在此范围内声明 CapacitiveSensor.cpp: 在成员函数'int CapacitiveSensor::SenseOneCycle()': CapacitiveSensor。 cpp:141:18:错误:“noInterrupts”未在此范围内声明 CapacitiveSensor.cpp:151:16:错误:“中断”未在此范围内声明void CapacitiveSensor::set_CS_Timeout_Millis(long unsigned int)': CapacitiveSensor.cpp:133:73: 错误: 'F_CPU' 未在此范围内声明 CapacitiveSensor.cpp: 在成员函数'int CapacitiveSensor::SenseOneCycle()': CapacitiveSensor。 cpp:141:18:错误:“noInterrupts”未在此范围内声明 CapacitiveSensor.cpp:151:16:错误:“中断”未在此范围内声明

我下载了文件并将“CapacitiveSensor”文件夹导入(我一个接一个地执行这些步骤,而不是同时执行这些步骤。):

  1. Documents/arduino/ 下的库文件夹。
  2. 存储 arduino.exe 的 arduino 文件夹中的库文件夹。
  3. 在 arduino-1.5.3/hardware/libraries/ 上(因为在我下载它的网站上提到了这一点)
  4. 我试过这个:在这里因为它似乎和我有同样的错误。但它没有用。

我还删除了我的 Arduino 并重新安装了它。

有人有想法吗?在此先感谢,克莱门斯

4

1 回答 1

0

在 Arduino 论坛上有一个类似的问题,但我不知道您的问题是否完全相同: [FIXED][CapacitiveSensor] Can't compile with Due(端口操作)

看起来 Arduino 的人反应不太灵敏。用户修改了寄存器名称并最终将他自己的库放在那里。

*“...将 uint8_t 寄存器更改为 RwReg(编译器不会抱怨),我用简单的 pinMode(PIN, MODE) 调用替换了 portModeRegister(PIN) 的使用(它更慢但它有效)。”*

于 2014-03-13T19:24:11.140 回答