Последовательный монитор не отображает код из настроек или основной - Бод 9600 - PullRequest
0 голосов
/ 18 января 2019

В 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;
}

Ответы [ 2 ]

0 голосов
/ 18 января 2019

В вашем скриншоте Arduino вам не нужно писать main функцию. Единственными необходимыми функциями являются setup и loop.

Ваш локально объявленный main используется вместо того, который предоставляется ядром Arduino (это разрешено, потому что arduino main происходит из библиотеки, поэтому ваш main заменяет ее). Поэтому setup никогда не называется.

Переименуйте ваш int main() в void loop() и удалите return 0; с конца.

0 голосов
/ 18 января 2019

Это может показаться очевидным, но вы рассматривали возможность добавления функции setup () в main? Без фактического включения последовательного модуля вы вряд ли увидите что-либо. Прошло много времени с тех пор, как я использовал Arduino, но, насколько я помню, настройка последовательного выхода была довольно простой.

Вы также можете проверить правильность проводки. В этом случае осциллограф будет работать достаточно хорошо, однако может также подойти и простой обзор.

...