我的arduino库有问题。编译器无法识别我的班级平台,并说:“错误:'平台'未命名类型”。
以下是主程序代码:
#include <Platform.h>
#define MOVE_FORWARD 0xFF
#define MOVE_BACKWARD 0xF0
// Error 'Platform' does not name a type
Platform plt(13, 14, 15);
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.read() == MOVE_FORWARD)
plt.move(5);
if (Serial.read() == MOVE_BACKWARD)
plt.move(-5);
}
这是Platform.h代码:
#ifndef PLATFORM_H
#define PLATFORM_H
#include <arduino.h>
#include <Motor.h>
class Platform {
public:
Platform(int input_1, int input_2, int enable); // Pins for L293D
void move(int distance);
private:
Motor *m_motors; // All motors connected to one L293D
};
#endif
平台的实施:
#include "Platform.h"
Platform::Platform(int input_1, int input_2, int enable){
m_motors = new Motor(input_1, input_2, enable);
}
void Platform::move(int distance){
byte mm_delay = 100;
byte motor_power = 128;
if (distance > 0)
m_motors->forvard(motor_power);
else if (distance < 0)
m_motors->backward(motor_power);
delay(mm_delay*distance);
m_motors->stop();
}
编译器的行为对我来说很奇怪,因为Motor库运行良好,Platform.h的结构与Motor.h的结构相同。
答案 0 :(得分:0)
从上面的程序可以看出,由于以下原因,错误报告您的收到。您需要将标题包含文件从#include <Platform.h>
更改为include "Platform.h"
。