Надоело писать ATD и ; при звонке с SIM800L

Тема в разделе "Arduino & Shields", создана пользователем atd, 9 янв 2017.

  1. atd

    atd Нуб

    С первым рабочим днем Вас, Дамы и Господа, вопрос насущный и нубный !

    Мне так надоело писать ATD и ; при исходящем звонке (я менеджер), что необходимо исправить/добавить в скетч, чтобы все корректно читалось модулем?

    Вот код, но нерабочий, плиз, помогите !!!!!

    Код (C++):
    #include <SoftwareSerial.h>
    #include <String.h>
    SoftwareSerial mySerial(10, 11); // RX, TX

    String n;

    void setup() {
      Serial.begin(9600);
      while (!Serial) {
      }
      mySerial.begin(9600);
      mySerial.println("AT");
      }

    void loop() {
      if (mySerial.available()) {
        Serial.write(mySerial.read());
      }
      if (Serial.available()) {
        mySerial.write(Serial.read());
      }
      n = Serial.readStringUntil('\n');
      if (n.startsWith("+7")) {
           mySerial.println("ATD" + n + ";");
      }
    }
     
  2. rkit

    rkit Гуру

    Чё?
     
  3. atd

    atd Нуб

    вот рабочий, но он не добавляет АТД и ;

    Код (C++):
    #include <SoftwareSerial.h>               //загрузка библиотеки
    SoftwareSerial mySerial(10, 11);          //определяем RX, TX порты
    void setup()                              //вызов загрузка программы
    {                                         //начало загрузки программы
      Serial.begin(9600);                     //открытие програмного порта, бит/сек
      while (!Serial) {                       //когда включится программный порт
      }                                       //условие только после включения программного порта
      mySerial.begin(9600);                   //открытие аппаратного порта, бит/сек
      mySerial.println("AT");                 //пишем в аппаратный сериал
      delay(50);                              //задержка 50 милисекунд
    }                                         //окончание загрузки программы
    void loop()                               //вызов цикла программы
    {                                         //начало загрузки цикла
      if (mySerial.available())               //если аппаратный порт доступен
        Serial.write(mySerial.read());        //если что-то пишем в программный порт, то аппаратный порт это читает
      if (Serial.available())                 //если программный порт доступен
        mySerial.write(Serial.read());        //если что-то пишем в аппаратный порт, то программный порт это читает
    }                                         //окончание цикла программы
     
     
  4. ostrov

    ostrov Гуру

    Есть такое для всяких там Леонардо и подобных. Ожидает открытие сериал порта.
     
    Tomasina нравится это.
  5. atd

    atd Нуб

    У меня через softwareserial когда-то получилось сделать скетч, работал онтак: при условии номера начинающиеся на плюс 7 добавлялась перед плюсом ATD и после номера точка запятая, но вот проблема номер добавлялся не строкой, а по одной цифре и время это занимало всё равно что звонить пульсового телефона , то есть долго происходил вызов и набор номера, что делать я так и не понял. Гики и Оракулы , помогите манагеру, плиз !