Arduino中出现错误说是'Serial1' was not declared in this scope.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino中出现错误说是'Serial1' was not declared in this scope.相关的知识,希望对你有一定的参考价值。

程序的最前面的一小段如下,是要控制小车的前进后退停止和转弯。
void motor_stop(void) //函数类型void表示没有结果,函数名称motor_stop,(void)表示函数没有参数

//控制电机1
Serial1.print(170,BYTE);
Serial1.print(130,BYTE); //地址=130
Serial1.print(0,BYTE); //命令=0,Motor1正转
Serial1.print(0,BYTE); //参数=0,速度=0
Serial1.print(2,BYTE); //效验=(130+0+0)&0x7F=130 & 0x7F =2
delay(5);//延时5ms
//控制电机2
Serial1.print(170,BYTE);
Serial1.print(130,BYTE); //地址=130
Serial1.print(4,BYTE); //命令=4,Motor2正转
Serial1.print(0,BYTE); //参数=0,速度=0
Serial1.print(6,BYTE); //效验=(130+4+0)&0x7F=134 & 0x7F =6

原因:没有选中正确的板子。

1、首先双击快捷方式,打开blink arduino应用程序,进入到编辑页面中、

2、然后在编辑的窗口中,点击主菜单栏中的“tools”,在出现的菜单栏中选择“Board”选项。

3、然后在弹出来的诸多板子选项中,找到正确的板子,点击选择它,就可以解决这个问题了。

参考技术A

有两种情况会导致这个问题:

    如果你使用的是Arduion UNO这一类型的板子的话,需要将Serial1改成Serial就可以了

    如果你使用的是带Serial1接口的板子,需要在【工具】==>【板卡】里面设定好板子的正确型号,负责编译的时候会报这个错误

本回答被提问者和网友采纳
参考技术B 板子是mega吗?
Serial1是mega才有的,不是mega用Serial,是mega在Tools>Board中选Mega
选择正确的板子
参考技术C 你没有定义Serial1这个对象追问

请问这个要怎么定义啊?

追答

这是一个类,首先你的lib文件夹下必须有这个类才行,找到这个类之后打开看看,他的构造方法什么样的,根据构造方法来定义这个对象

追问

这个类的名字叫什么啊?那要是没有这个类怎么加进去啊?

追答

我不知道这是什么类,你去官网上找找,或者去问问卖驱动小车的电机的店主。

Arduino Serial.print()串口打印函数

Arduino Serial.print()串口打印函数

将数据打印到串口,作为人类可读的ASCII文本。该命令可以采用多种形式。每个数字都使用ASCII字符打印。小数以类似的方式打印为ASCII数字,默认为两个小数点。字节作为单个字符发送。字符和字符串按原样发送。例如,

  • Serial.print(78)//78
  • Serial.print(1.23456)"//1.23
  • Serial.print(\'N\')//N
  • Serial.print("Hello world.")//Hello world

第二个可选参数指定要使用的基(格式);允许的值是BIN(二进制,或基数2),OCT(八进制,或基数8),DEC(十进制,或基数10),HEX(十六进制,或基数16)。对于浮点数,此参数指定要使用的小数位数。例如,

  • Serial.print(78, BIN)//1001110
  • Serial.print(78, OCT)//116
  • Serial.print(78, DEC)//78
  • Serial.print(78, HEX)//4E
  • Serial.print(1.23456, 0)//1
  • Ser

以上是关于Arduino中出现错误说是'Serial1' was not declared in this scope.的主要内容,如果未能解决你的问题,请参考以下文章

Arduino 的 Serial.write 和 Serial.print 的区别在哪里

arduino 串口不工作

Arduino 串口 不能完全接受 命令

如何在Arduino上传输字符串?

在arduino中,serial.print和serial.printIn有啥区别

PC和Arduino之间通过USB的串行通信