2

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


} 
4

2 回答 2

2

试试这个

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

typedef legtype leg;

那样有用吗?

干杯,

于 2012-11-13T08:22:26.623 回答
2

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

于 2014-11-20T00:02:59.723 回答