前言
在编写和上传Arduino程序的时候常常会发生,通常错误分为两大类,编译错误和上传错误
编译错误
下图中为常见编译错误
expected initializer before '} token |
exit status 1 expected initializer before '}' token |
上传错误
下图中为常见上传错误
开发板在COM8不可用 |
开发板在 COM8 不可用 |
在代码中查找错误
如编译错误之后,信息区会产生提示信息,编译区会用橙色块定位到第一个错误发生的位置
缺失符号
缺少符号或者符号使用了中文标点是我们比较容易犯的错。
缺失;
缺失{}
缺失()
使用中文标点
在使用代码编程的时候千万要注意输入法标点要切换到英文。否则标点符号的中英文错误比较难以检查出来。
缺失,
逗号缺失会造成语句表达不清,编译器会报一些比较奇怪的错误。比如参数少等。或者能编译过,但达不到预期的程序目的。
拼写错误
代码的大小写、词语拼写错误相对于比较容易发现,比如已定义过的高亮关键字如LOW,HIGH,在IDE中的颜色会不一样。如果拼写错了是默认的黑色。
缺失变量定义
缺失变量定义IDE会报“‘xxx’ was not declared in this scope”,相对于比较容易查找。
程序中多余的文本
程序中多余文本的错误可能会引起混淆,通常编译器都能检查出来。
常见错误代码对应解决办法
was not declared in this scope
变量或者对像未声明或缺少库文件或者变量未被提前声明定义。
尝试解决办法:检查变量是否被提前声明。在arduino\libraries添加缺少的库
XXX.h:No such file or directory
未找到库文件,缺少对应库文件。
尝试解决办法:同上
can’t open device “\.\COM8”:
不能打开串口
尝试解决办法:串口是不是被其它程序占用,检查开发板USB连接,或者更换USB连接口
timeout communicating with programme
程序上传超时
尝试解决办法:是否选择正确的开发板,硬件连接故障
Sketch too big "see……"
当您的代码大于特定Arduino板的flash内存时,就会发生此错误。减少占用flash代码块。
expected ‘;’ before ‘}’ token
生成的代码语法错误,缺少对应符号,或者错误的符号。
尝试解决办法:联系库开发解决。
cannot convert ‘XXXX’ to ‘XXX’ (XXX为数据类型)
不能转换数据类型,功能块参数使用错误的数据类型。
尝试解决办法:更换正确的数据类型。
the value of ‘xxx’ is not usable in a constant expression
暂时只是发现switch功能case连接了错误的数据类型块会出现这个错误。
尝试解决办法:更换正确的数据类型。
此帖为收集Mixly编译错误信息,如您有遇到什么错误欢迎在下方留言。
联系我们
扫码或者点这里加群了解更多!
Created by qdprobot