Arduino伺服结构“没有命名类型”

时间:2012-11-13 08:06:49

标签: c memory-management struct arduino

我正在尝试运行一个使用包含伺服对象的结构的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() 
{ 


} 

2 个答案:

答案 0 :(得分:2)

试试这个

struct legtype {
    Servo hip;
    Servo shin;
    Servo foot;
};

typedef legtype leg;

这有用吗?

干杯,

答案 1 :(得分:2)

在头文件中定义结构为我解决了这个问题。 在arduino中创建一个名为“whatever.h”的新标签 在whatever.h中定义结构 在主文件中包含whatever.h。