C Arduino中的数据类型错误

C Arduino中的数据类型错误,c,arduino,C,Arduino,我正在为一位老师做一个项目时,遇到了以下错误: timer16\u序列声明中的两个或多个数据类型 它发生在这段代码上: typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ; 我知道这个错误通常是在忘记分号时引起的,但它还有其他原因吗?当我不使用自定义库时,同一段代码可以正常工作,但是当我使用自定义库时,会弹出这个错误,我不知道为什么。我用来编程的语言是Arduino C。添加到库头中(即.h文件) //添加以下行: #ifnd

我正在为一位老师做一个项目时,遇到了以下错误:

timer16\u序列声明中的两个或多个数据类型

它发生在这段代码上:

typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ;

我知道这个错误通常是在忘记分号时引起的,但它还有其他原因吗?当我不使用自定义库时,同一段代码可以正常工作,但是当我使用自定义库时,会弹出这个错误,我不知道为什么。我用来编程的语言是Arduino C。

添加到库头中(即.h文件)

//添加以下行:
#ifndef x
#定义x
//这个
#包括

您能具体解释一下“当我不使用自定义库时”是什么意思吗?@GregHewgill我使用的库是一个用于控制伺服的预制库。因为有一个预制库,我可以单独测试它(它做它应该做的事情,控制伺服),但是当我将我的定制库添加到项目中时,预制库似乎给出了这个错误,并且只有当定制库在预制库之上时。当我切换它们时,我会得到一组完全不同的错误,这些错误总是不止一个…嗯,我认为你的怀疑是正确的。您的头文件结尾附近可能缺少一些东西(可能是分号),直到头文件结尾之后才被检测到。如果不发布相关代码,我们就无法进一步猜测。为什么在枚举名称中使用前导下划线?这些是为编译器保留的。也许是另一个头定义了_timer1。在大约3.5个小时的搜索后(不包括我在过去几周中寻找它的时间),我确实在自定义头文件中找到了一个缺少的分号。虽然它不一定解决了所有的问题,但它确实解决了这一个问题,现在我要唱了。。。Thnx GregHewgill,如果你没有告诉我,我可能会在我自己的图书馆里丢失一些东西,我会一直在寻找。
//add below these lines:
#ifndef x
#define x
//this
#include <Arduino.h>