Проблема с Seeed Studio GPRS Shield v3.0

Тема в разделе "Проводная и беспроводная связь", создана пользователем array33, 18 май 2018.

  1. array33

    array33 Нуб

    Доброго времени суток! Приобрел Seeed Studio GPRS Shield v3.0. Подключил к arduino uno, на самом шилде перемычки выставил как на фото. Залил пример с интернета для работы с этим скетчем, открываю монитор порта, ввожу команду AT, но в ответ ничего не приходит. В чем может быть проблема?
    Код (C++):
    #include <SoftwareSerial.h>
    SoftwareSerial GPRS(7, 8);
    unsigned char buffer[64]; // buffer array for data recieve over serial port
    int count=0;     // counter for buffer array
    void setup()
    {
      GPRS.begin(19200);               // the GPRS baud rate  
      Serial.begin(19200);             // the Serial port of Arduino baud rate.
    }
    void loop()
    {
      if (GPRS.available())              // if date is comming from softwareserial port ==> data is comming from gprs shield
      {
        while(GPRS.available())          // reading data into char array
        {
          buffer[count++]=GPRS.read();     // writing data into array
          if(count == 64)break;
      }
        Serial.write(buffer,count);            // if no data transmission ends, write buffer to hardware serial port
        clearBufferArray();              // call clearBufferArray function to clear the storaged data from the array
        count = 0;                       // set counter of while loop to zero
      }
      if (Serial.available())            // if data is available on hardwareserial port ==> data is comming from PC or notebook
        GPRS.write(Serial.read());       // write it to the GPRS shield
    }
    void clearBufferArray()              // function to clear buffer array
    {
      for (int i=0; i<count;i++)
        { buffer[i]=NULL;}                  // clear all index of array with command NULL
    }
     

    Вложения:

    • XUI6v-C_W_Y.jpg
      XUI6v-C_W_Y.jpg
      Размер файла:
      309,3 КБ
      Просмотров:
      349
  2. a1000

    a1000 Гуру

    Какой-то скетч у вас сложный. Попробуйте с более простым
    Код (C++):
    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(2, 3); // RX, TX
    void setup()
    {
      Serial.begin(19200);  //Скорость порта для связи Arduino с компьютером
      Serial.println("Goodnight moon!");
      mySerial.begin(19200);  //Скорость порта для связи Arduino с GSM модулем
      mySerial.println("AT");
    }

    void loop()
    {
      if (mySerial.available())
        Serial.write(mySerial.read());
      if (Serial.available())
        mySerial.write(Serial.read());
    }
    И уточните скорость порта на шилде. Если выставлено не правильно, шилд может не отвечать.
     
    Последнее редактирование: 18 май 2018
  3. array33

    array33 Нуб

    А скажите, пожалуйста, можно ли на UNO использовать два SoftwareSerial? У меня на 3 и 4 ноге сидит GPS модуль.
     
  4. a1000

    a1000 Гуру

    Как то подробно с этим вопросом не разбирался, но где-то читал, что одновременно два программных UART существовать не могут. Они будут работать попеременно.