我无法弄清楚这个错误。我最初从CurieIMU.h(构建正常)复制到ashIMU.h ...
错误是这样的: ashIMU.h:17:错误:无法将变量'ashIMU'声明为抽象类型'ashIMUClass'
我的草图ARDUINO_LED_DEMO.ino .................
#include "ashIMU.h"
...
ashIMU.h ..................
#ifndef ASH_IMU_API_H
#define ASH_IMU_API_H
#include "ash_BMI160.h"
class ashIMUClass : public ashBMI160Class {
public:
bool begin(void);
void setAccelerometerRange(int range);
};
extern ashIMUClass ashIMU;
#endif // ASH_IMU_API_H
ash_BMI160.h ..................................... 这只是BMI160.h,但是类名从“BMI160Class”更改为“ashBMI160Class”。
...
class ashBMI160Class {
public:
...
};
答案 0 :(得分:0)
如果您的ashBMI160Class
与CurieIMU库中的原始BMI160Class
相同,那么您将缺少纯虚函数的实现:
virtual int serial_buffer_transfer(uint8_t *buf, unsigned tx_cnt, unsigned rx_cnt) = 0;