在setup()中,我有Serial.begin(9600),但是每当我使Serial Monitor打印任何内容时,都不会显示任何文本。我尝试过移动print()函数的位置(包括直接在Serial.begin()下),但是没有任何效果。
#include <Stepper.h>
#include "CommandTest.h"
#include "BlueSide.h"
#include "RedSide.h"
#include "GreenSide.h"
#include "YellowSide.h"
#include "OrangeSide.h"
#include "WhiteSide.h"
void setup(){
Serial.begin(9600);
delay(1);
Serial.print("test"); //not displaying even this
char temp[] = "wwwwwwwww";
WhiteSide::setValue(temp);
strcpy(temp, "rrrrrrrrr");
RedSide::setValue(temp);
strcpy(temp, "bbbbbbbbb");
BlueSide::setValue(temp);
strcpy(temp, "ooooooooo");
OrangeSide::setValue(temp);
strcpy(temp, "ggggggggg");
GreenSide::setValue(temp);
strcpy(temp, "yyyyyyyyy");
YellowSide::setValue(temp);
delay(1000);
}
void printCube(){
Serial.println(WhiteSide::getArray());
Serial.println(RedSide::getArray());
Serial.println(BlueSide::getArray());
Serial.println(OrangeSide::getArray());
Serial.println(GreenSide::getArray());
Serial.println(YellowSide::getArray());
}
int main(){
CommandTest command;
Serial.print("start");//not displaying this
command.f();
printCube();//and it's not printing these arrays
delay(1000);
command.fp();
printCube();
delay(1000);
command.r();
printCube();
delay(1000);
command.rp();
printCube();
delay(1000);
command.l();
printCube();
delay(1000);
command.lp();
printCube();
delay(1000);
return 0;
}
答案 0 :(得分:2)
在Arduino草图中,您无需编写line[?] = line[list] + device.readBuffer()[bytes]
函数。唯一需要的功能是main
和setup
。
您使用的是本地声明的loop
,而不是Arduino内核提供的变量(之所以允许,是因为arduino main
来自库,所以您的main
会取代它) 。因此,main
永远不会被调用。
将setup
重命名为int main()
,然后从末尾删除void loop()
。
答案 1 :(得分:0)
这似乎很明显,但是您是否考虑过将setup()函数添加到main中?如果没有实际启用串行模块,您将看不到任何东西。自从我使用Arduino以来已经有一段时间了,但是根据我的回忆,设置串行输出非常简单。
您可能还需要检查接线是否正确。在这种情况下,示波器可以很好地工作,但是简单回顾一下就足够了。