2 software serial

Тема в разделе "Arduino & Shields", создана пользователем TebEnkov2222, 9 июл 2019.

Метки:
  1. TebEnkov2222

    TebEnkov2222 Гик

    Добрый день. проблема с подключение двух сериалов
    Код (C++):
    void setup() {
      Serial.begin(9600);              // Скорость обмена данными с компьютером
      Serial.println("Start! GeneralControllerFull1.0");
      input.begin(9600);               // Скорость обмена данными с контроллерами
      SIM800.begin(9600);              // Скорость обмена данными с модемом

        for (int i = 0; i < quantity; i++) Mass[i] = 0;
      sendATCommand("AT", true);
      //sendSMSinPDU(number1, InfoMessageOutput());                    // Отправили AT для настройки скорости обмена данными
    }
    Почему вот так работает только sim800 ?
    Код (C++):
    void setup() {
      Serial.begin(9600);              // Скорость обмена данными с компьютером
      Serial.println("Start! GeneralControllerFull1.0");
      SIM800.begin(9600);              // Скорость обмена данными с модемом
      input.begin(9600);               // Скорость обмена данными с контроллерами
        for (int i = 0; i < quantity; i++) Mass[i] = 0;
      sendATCommand("AT", true);
      //sendSMSinPDU(number1, InfoMessageOutput());                    // Отправили AT для настройки скорости обмена данными
    }
    А вот так работают только контроллеры. И как мне сделать, чтобы работали оба?
     
  2. Asper Daffy

    Asper Daffy Иксперд

    Переключать кто активен. Одновременно они не работают, а переключать можно.
     
    TebEnkov2222 нравится это.
  3. TebEnkov2222

    TebEnkov2222 Гик

    Вот таким образом включать?
     
  4. Asper Daffy

    Asper Daffy Иксперд

    Нет, ну ты так и включаешь.

    Пойми, активен (слушает) всегда только один.

    Активность устанавливается в конце begin (именно поэтому у тебя работает тот, которому последним begin сказал). Чтобы сделать какой-то из них активным нужно вызвать его функцию listen();

    Кстати, почему новички НИКОГДА не читают документацию?

    1. Вот здесь ВСЁ написано и есть пример (в описании listen() )- https://www.arduino.cc/en/Reference/SoftwareSerial
    2. Более того, прямо у тебя на компьютере, в папке, где лежит библиотека, есть папка examples\TwoPortReceive а в ней работающий пример использования двух SoftSerial'ов!
     
    TebEnkov2222 нравится это.
  5. TebEnkov2222

    TebEnkov2222 Гик

    Потому что читать лень, а все знать и понимать хочется)) Спасибо)
     
  6. Daniil

    Daniil Гуру

    т.е. читать документацию, после того как прочитали посыл к чтению документации не лень? Что-то тут не то
     
  7. TebEnkov2222

    TebEnkov2222 Гик

    Удобнее видео уроки смотреть. Но они не всегда есть.
    Теперь вопрос номе 2. Почему у меня сим-ка не подключается к сети? (пишу здесь, ибо тем я уже море на создавал) На верху картинки CREG 0,2. После не большого подлагивания написал 0 ,0. Что может быть не так?
    upload_2019-7-10_16-3-11.png
    И в начале выдает
    +CPIN: READY
    Call Ready
    SMS Ready
     
    Последнее редактирование: 10 июл 2019
  8. Asper Daffy

    Asper Daffy Иксперд

    Это для тех, кто читать не умеет.
     
    parovoZZ и NikitOS нравится это.
  9. Daniil

    Daniil Гуру

    :confused:да и читать всё равно придётся..
     
    NikitOS нравится это.
  10. NikitOS

    NikitOS Король шутов Администратор

     
  11. Asper Daffy

    Asper Daffy Иксперд

    Выдвигаться в госдуму. Там только говорить уметь надо.
     
    issaom, DetSimen, TebEnkov2222 и ещё 1-му нравится это.
  12. parovoZZ

    parovoZZ Гуру

    А если бумажку принесут?
     
  13. NikitOS

    NikitOS Король шутов Администратор

    В бумажку можно завернуть какашку
     
  14. Asper Daffy

    Asper Daffy Иксперд

    Если зелёную с американским президентом, то её читать не надо - она как комикс, и так понятна. А если другую какую - пофиг на неё. Мы ж не бюрократы какие, не рабы бумажек, чай.
     
    TebEnkov2222 и DetSimen нравится это.