You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arduino编译报错'I2C_MODE'未声明 基于Grove入门套件LIS3DHTR开发故障

错误根因

该报错由Seeed_Arduino_LIS3DHTR库版本与示例代码版本不匹配导致,你当前下载的新版库已经移除了I2C_MODE宏定义,该参数不再需要传入构造函数。同时你的代码存在头文件重复引入的冗余问题。

修复步骤
  • 删除重复的LIS3DHTR头文件引用,仅保留一行#include <LIS3DHTR.h>即可
  • 两处LIS对象的构造代码删除I2C_MODE入参,直接调用无参构造即可
修复后完整代码
#include <LIS3DHTR.h>

#ifdef SOFTWAREWIRE
#include <SoftwareWire.h>
SoftwareWire myWire(3, 2);
LIS3DHTR<SoftwareWire> LIS;
#define WIRE myWire
#else
#include <Wire.h>
LIS3DHTR<TwoWire> LIS;
#define WIRE Wire
#endif

void setup() {
  Serial.begin(9600);
  while (!Serial) {};
  LIS.begin(WIRE);
  delay(100);
  LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ);
}

void loop() {
  if (!LIS) {
    Serial.println("LIS3DHTR didn't connect.");
    while (1);
    return;
  }
  Serial.print("x:"); Serial.print(LIS.getAccelerationX()); Serial.print(" ");
  Serial.print("y:"); Serial.print(LIS.getAccelerationY()); Serial.print(" ");
  Serial.print("z:"); Serial.println(LIS.getAccelerationZ());
  delay(500);
}

修复后重新编译即可消除该报错,后续可以在此基础上添加倾斜角度计算、蜂鸣器触发的相关逻辑。

内容的提问来源于stack exchange,提问作者TJ Webster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:15:07