“如何纠正错误”;退出状态1指数没有数字“;在arduino编程中?

“如何纠正错误”;退出状态1指数没有数字“;在arduino编程中?,arduino,accelerometer,Arduino,Accelerometer,我需要帮助调试刚刚输入的arduino程序。显示的错误是:- 1.exit status 1指数没有数字(在“char INT_ENABLE=0*2E”行中找到)。 该程序的目的是在通过adxl345检测到不活动时,启动蜂鸣器并关闭继电器开关,而在检测到活动时,则相反。 我在下面提供我的程序代码。请检查并帮助我纠正此问题以及您可能在我的程序中发现的任何其他问题 #包括 int cs=10; int=2; int蜂鸣器=4; int继电器=5; int su=1; int intr1 pinmo

我需要帮助调试刚刚输入的arduino程序。显示的错误是:- 1.exit status 1指数没有数字(在“char INT_ENABLE=0*2E”行中找到)。 该程序的目的是在通过adxl345检测到不活动时,启动蜂鸣器并关闭继电器开关,而在检测到活动时,则相反。 我在下面提供我的程序代码。请检查并帮助我纠正此问题以及您可能在我的程序中发现的任何其他问题

#包括
int cs=10;
int=2;
int蜂鸣器=4;
int继电器=5;
int su=1;
int intr1
pinmode(蜂鸣器,输出);
pinmode(继电器、输出);
字符功率=0*2D
字符数据_格式=0*31
字符数据x0=0*32
字符数据x1=0*33
字符数据0=0*34
字符数据1=0*35
字符数据z0=0*36
字符数据Z1=0*37
字符阈值=0*24
字符阈值=0*38
字符时间=0*26
char INT_ENABLE=0*2E
char INT_MAP=0*2F
字符行为输入控制=0*27
字符INT_源=0*30
字符值[10];
字符输出[20];
int x,y,z;
char-inactivityevent=0;
无效设置()
{
SPI.begin();
设置数据模式(SPI_模式3);
Serial.begin(9600);
pinMode(cs,输出);
数字写入(cs,高);
连接中断(数字插针中断(intr)、中断处理器、上升);
写注册表(数据格式,0*01);
写注册表(电源控制,0*08);
写注册表(整数映射,0*F7和&0*EF);
写注册表(阈值,1);
写入注册表(时间间隔,0);
书面注册人(行为控制,0*0F);
写注册表(INT_启用,0*08);
读取寄存器(INT_源,1,值);
} 
void interrupHandler()
{
读取寄存器(INT_源,1,值);
}
void循环()
{
intr1=数字读取(intr);
如果(intr1==高)
{ 
读取寄存器(数据x0,6,值);

x=((int)值[1]对于程序中的所有
0*nn
值,将它们替换为
0xnn
。确保每一行都以分号结尾(例如,第7、10-24行)。在第40行,检查包含
&
的表达式,因为这是一个“逻辑”运算符,并且看起来像是一个“按位”运算符运算符,因此将
&
更改为
&
。在第45行中,我认为您需要
为小写,因为您尝试填充的变量名称是小写的。
有几个地方你会说
readRegister
,但我认为你需要使用
readRegister

检查第78行,它有一个while循环来检查
su
的值。我认为应该有
while(su==1)
在这里而不是只有一个
=
。单个
=
正在设置值,但我认为您需要检查值,因此您需要
=
。我注意到程序中没有任何东西可以从
1
更改
su
,因此它将一直持续到
intr
发生。

我发现这是一个问题,因为它是谷歌对错误消息的最重要的结果,所以如果有人来到这里,下面是实际发生的情况。这一行是问题:

char INT_ENABLE = 0*2E
这本应该是

char INT_ENABLE = 0x2E;
其中
0x
表示
2E
是一个十六进制数。但是,编译器将原始代码读取为
零乘以2E
,并将
2E
解释为试图写入缺少指数的浮点数

对于任何以前没有见过这种情况的人,您可以将200万这样的数字写成
2e6
,这意味着
2后跟6个零或
2乘以10乘以6的幂。第一个数字称为尾数,第二个是指数。因此错误消息
Exponent没有数字

在我的例子中,问题是数字1看起来与小写L相同,我侄子将变量误输入/误读为
1ed
,而不是
led


您的十六进制常量语法不正确-应该是0x,而不是0*(X不是乘法!)。您也有很多其他语法错误。C(和大多数其他编程语言)对语法非常挑剔,并且不能偏离语言规范(比如说,与英语不同)。非常感谢你的更正。我自己研究了这个,显然我弄错了。我使用了在这个网站上找到的一个程序作为基础程序,并试图从那里构建一个。下面提供了链接。如果你能帮我纠正大部分语法错误,那将非常有用。你在那里键入了代码,但有很多错误。我建议再次输入,但要非常精确地输入大小写、符号和“标点符号”字符。谢谢。我会记住这一点。关于逻辑运算符“&&”,正如我在前面的评论中所说的,我从这个网站上获取了一个程序作为开发我的基本程序,在这个程序中,他们使用了这个。我相信这个想法是将数据发送到两个地址。谢谢你的帮助。我提供了一个链接到我之前提到的基本程序。也许你能比我理解得更多,并帮助我我更了解程序的这一部分。我看了那个程序,它的格式与你引用的格式相同。但是我认为那个人的格式不正确,因为
0xF7&&0xEF
与说
1
是一样的。但是我认为我上面建议的更正也不起作用。我对具体内容了解不够但是你可能会得到一些关于INT_MAP的好信息。谢谢你的参考和帮助。我能够纠正我程序中的所有错误。目前我正在等待我的组件测试我的程序。