在Arduino中初始化C++库

Initialising a C++ library in Arduino

本文关键字:C++ 初始化 Arduino      更新时间:2023-10-16

我正试图使用这个六轴互补滤波器库来解释来自LSM6DS3运动传感器的数据。

在我的Arduino草图中调用它,我得到了这个错误。对不起这个愚蠢的问题,我刚开始学习这个:

#include "SparkFunLSM6DS3.h" 
#include "Wire.h"
#include "SPI.h"
#include "six_axis_comp_filter.h"

LSM6DS3 myIMU; // Constructor for the motion sensor (this works)
CompSixAxis test; // this breaks

当我尝试初始化CompPixAxis类的实例时,它会给我以下错误:

调用"CompPixAxis::CompPixAxis()"没有匹配的函数

CompSixAxis没有默认构造函数。这意味着你不能像那样使用它

CompSixAxis test;

因为这需要一个默认的构造函数。为了构造对象,您需要使用具有形式的构造函数

CompSixAxis(float deltaTime, float tau);

所以你更新的代码看起来像

CompSixAxis test(some_value, some_other_value);