串行监视器不显示来自设置或主站的代码-Baud 9600

时间:2019-01-18 00:32:38

标签: c++ arduino arduino-uno

在setup()中,我有Seri​​al.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;
}

2 个答案:

答案 0 :(得分:2)

在Arduino草图中,您无需编写line[?] = line[list] + device.readBuffer()[bytes] 函数。唯一需要的功能是mainsetup

您使用的是本地声明的loop,而不是Arduino内核提供的变量(之所以允许,是因为arduino main来自库,所以您的main会取代它) 。因此,main永远不会被调用。

setup重命名为int main(),然后从末尾删除void loop()

答案 1 :(得分:0)

这似乎很明显,但是您是否考虑过将setup()函数添加到main中?如果没有实际启用串行模块,您将看不到任何东西。自从我使用Arduino以来已经有一段时间了,但是根据我的回忆,设置串行输出非常简单。

您可能还需要检查接线是否正确。在这种情况下,示波器可以很好地工作,但是简单回顾一下就足够了。