Arduino Mega не отображает данных в "Мониторе порта"

Cobra_com
Offline
Зарегистрирован: 02.04.2020

Всем привет! Я относительно недавно начал интересоваться ардуино, если что:) Купил значит Mega на рынке, так как все магазины из-за вируса уже закрыты. Сегодня решил поиграться с датчиком из мышки, нашел библиотеку "PS2". Код загрузился, все подсоединил, открываю монитор порта, а там пусто. Долго думал, ничего не придумал. У всех в инете работает, у меня нет. Решил сделать другое, подключил двигатели через L298N, код работает, решил опять добавить запись, чтобы посмотреть, что появится там, ничего. Создал абсолютно новый проект, в Serial.print("Hey!"), тут все появилось.

#include <ps2.h>

PS2 mouse(6, 5);

void mouse_init()
{
  mouse.write(0xff);  // reset
  mouse.read();  // ack byte
  mouse.read();  // blank */
  mouse.read();  // blank */
  mouse.write(0xf0);  // remote mode
  mouse.read();  // ack
  delayMicroseconds(100);
}

void setup()
{
  Serial.begin(9600);
  mouse_init();
}


void loop()
{
  char mstat;
  char mx;
  char my;

  /* get a reading from the mouse */
  mouse.write(0xeb);  // give me data!
  mouse.read();      // ignore ack
  mstat = mouse.read();
  mx = mouse.read();
  my = mouse.read();

  /* send the data back up */
  Serial.print(mstat, BIN);
  Serial.print("\tX=");
  Serial.print(mx, DEC);
  Serial.print("\tY=");
  Serial.print(my, DEC);
  Serial.println();
//  delay(20);  /* twiddle */
}

Код из стандартной библиотеки "PS2".
Какие могут быть предположения? Сильно не ругайте, если что, я только учусь:)

Cobra_com
Offline
Зарегистрирован: 02.04.2020

Прилагаю фото подключения

lc433
Offline
Зарегистрирован: 22.03.2020

Извините, разрешите поинтересоваться. Какой программой смотреть то, что выводит Ардуино в порт? И надо ли ей подключение к аппаратному СОМ порту или можно через USB?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

2lc433: В Arduino IDE то, что выводится в порт, принято смотреть родным монитором порта (кнопка в верхнем правом углу - прямо под "крестиком" закрытия окна).

2Cobra_com: В Вашем случае я бы начал отладку с того, что вставил печать разу после открытия порта и сразу после mouse_init().

А вообще, еще один полезный прием: найдите код blink without delay и вставляйте его в каждый свой проект - по крайней мере, всегда будете знать, не завис ли Ваш скетч.

Cobra_com
Offline
Зарегистрирован: 02.04.2020

Да, я смотрел через родной монитор порта. Может ли быть это из-за того, что я менял немного библиотеку и добавил там “arduino.h”, вместо какой-то там на «W...» для версии arduinoID 1.0

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

А чего-нить попроще:

Serial.begin(9600);

Serial.print("Hello, loh");

Работает?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Поддерживаю вопрос mykaida, может какие-то проблемы с выводом в порт просто...

Cobra_com
Offline
Зарегистрирован: 02.04.2020

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