Arduino Mega не работает с библиотекой SoftwareSerial.h

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

Доброго дня, вот решил вынести вопрос на обсуждение поскольку не работает библиоткека SoftwareSerial.h  В чем причина никак не могу понять.

что пробовал:

 залил скетч из примера 

void setup() {
  Serial.begin(19200);  //Скорость порта для связи Arduino с компьютером
  Serial.println("Goodnight moon!");
  Serial1.begin(19200);  //Скорость порта для связи Arduino с GSM модулем
  Serial1.println("AT");
}
 
void loop() {
  if (Serial1.available())
    Serial.write(Serial1.read());
  if (Serial.available())
    Serial1.write(Serial.read());
}

. замыкаю контакты переемычкой 10 и 11, также пробовал 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69) все для Меги из описания библиотеки

и все равно реакции 0 

выводит только  Goodnight moon  то что в манитор порта через обычный сериал на прямую вывожу

также пробовал установить вторую версию (последнюю)  IDE. тоже не помогло, у кого есть идеи что еще можно проверить?

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

ой скетч не тот залил, вот тестовый на котором пробую и к сожалению первый пост не редактируется

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(57600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(4800);
  mySerial.println("Hello, world?");
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Может быть у Меги 3 порта? http://arduino.ru/Serial/Begin

Serial1.begin(speed)
Serial2.begin(speed)
Serial3.begin(speed)

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

да у меги есть 3 обычных сериал порта, их можно использовать однако хочу использовать библиотеку sim900 а она использует softvareserial - которая в свою очередь у меня не запускается...

пробовал переделать на работающую у меня библиотеку altsoftserial но тоже не выходит (не запускается из за кучи ошибок, скорее всего из за нехватки знаний )

Кто знает подскажите пож куда копать?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Я Serial пользую безо всяких инклудов, по-умолчанию, само подключается. Мега2560. Это библиотеку не пользовал ни разу, нет надобности. Но когда-то давно обратил внимание, что выставленная скорость в коде работает с компом только в случае когда у окна монитора тоже выставляешь руками туже самую скорость .. проверьте на какую скорость у вас настроено окно монитора ИДЕ, если вы проверяете через него. Да, и скорости у вас на обоих объектах различаются. Если работа с монитором ИДЕ - одно из них работать не должно.

Проверьте, может поможет.

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

Очень благодарен за подсказку,но к сожалению не помогло. выставил и маленькую и большую скорoсти и одинаковые ставил и в скетче прописывал и в манитое IDE.

есть у кого какие идеи?

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

Вопрос решон. Все дело заключается в том что обычный сериал и SoftwareSerial не могут работать в один момент времени в отличие от NewsoftSerial . тоестьперемычкой между пинами не получится проверить, а так как я подключил модуль SIM800  и использовал софтваресериал то он стал отвечать. (Длятех кто будет искать такой же ответ)

sav liana
Offline
Зарегистрирован: 28.11.2016

Вопросы:

-как быть с "академическим" примером (первый пост), получается он ошибочный ?!

-еслии Arduino IDE 1.6.4 то под названием SoftwareSerial скрывается NewsoftSerial ?

 

SportMaster
SportMaster аватар
Offline
Зарегистрирован: 02.03.2016

SoftwareSerial работает на Меге и с  GSM и без, примеров достаточно и на форуме тоже