我正在尝试运行一个使用包含伺服对象的结构的arduino程序,它给了我这个错误:
error: 'leg' does not name a type
我认为我在内存管理方面做错了,但我对此很新,所以感谢任何帮助。
这是我的代码:
#include <Servo.h>
typedef struct{
Servo hip;
Servo shin;
Servo foot;
}leg;
int currentPin = 0; //this is the pin that the leg will be attached to
leg getLeg(void){
leg newLeg;
newLeg.hip.attach(currentPin++);
newLeg.shin.attach(currentPin++);
newLeg.foot.attach(currentPin++);
return newLeg;
}
void setup()
{
leg frontLeft = getLeg();
leg frontRight = getLeg();
leg backRight = getLeg();
leg backLeft = getLeg();
}
void loop()
{
}
答案 0 :(得分:2)
试试这个
struct legtype {
Servo hip;
Servo shin;
Servo foot;
};
typedef legtype leg;
这有用吗?
干杯,
答案 1 :(得分:2)
在头文件中定义结构为我解决了这个问题。
在arduino中创建一个名为“whatever.h
”的新标签
在whatever.h中定义结构
在主文件中包含whatever.h。