gsmAccess.begin(PINNUMBER) вообще не отвечает.

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

  1. Airbus

    Airbus Радиохулиган Модератор

    Только зачем Вам библиотека GSM если и без неё всё прекрасно работает через USART (Serial)посредством АТ команд?
     
  2. BeeLove

    BeeLove Нерд

    Точно оно )))
    Большое спасибо.
     
  3. BeeLove

    BeeLove Нерд

    Утро вечера мудренее - работает. Пока катался по городу подумал, а что надо шиелду для работы? Только питание и RX TX. Безспорно. Значит, возможно когда мы полностью вставляем шиелд в arduino то что то кому то мешает. Долго изучал GSM3SoftSerial.cpp нашел где определяются пину под RX TX.
    Код (Text):
    #if defined(__AVR_ATmega328P__)

    #define __TXPIN__ 3
    #define __RXPIN__ 2
    #define __RXINT__ 3
     
    Все бы хорошо, но переназначить их не получится т.к. пин 3 используется для прерывания. Библиотека GSM вообще обрабатывает все это на прерываниях. Поэтому пины не перезадать.

    Выключаем питание, выдергиваем GPRS shield из arduino uno. Делаем следующие коммутации:
    1. Соединяем GND обоих плат.
    2. с arduino подаем на shield +5В.
    3. D2 arduino на D7 shielda.
    4. D3 arduino на D8 shielda.

    Подаем питание. Прошиваем. Давим кнопочку включения GPRS shielda. Ждем постоянного красного светодиода. Открываем serial monitor. На экране полный ок.

    SMS Messages Receiver
    GSM initialized
    Waiting for messages
    Message received from:
    +7915.......38

    END OF MESSAGE
    MESSAGE DELETED
     
  4. BeeLove

    BeeLove Нерд

    Домучал задачу.
    Решил найти провода, которые мешают взаимодействию двух плат когда они вставлены друг в друга.
    Не стану описывать всю историю поиска. Только результат.
    Для того чтобы работало необходимо на GPRS shiel выкусить D7, D8. Они не должны соединяться с arduino. Делаем перемычки D2-D7, D3-D8. Заливаем скетч. Все работает.
    (пробовал pinMode(7, INPUT); pinMode(8, INPUT); перевести пины в высокоомное состояние, не помогает.)

    (а еще можно ни чего не откусывать, а снять джамперы и подать прием передачу именно на их пины.)
     
    Последнее редактирование: 11 июл 2014
  5. Airbus

    Airbus Радиохулиган Модератор

    Так я Вам об этом и писал выше.Юзайте "железный" он же аппаратный USART он же Serial. вместо програмного USART он же gprsSerial (softSerial) В первом случае используйте пины 2и3 во втором (если очень захочется)пины 7и8 аппаратный USART работает быстрее и экономит код не делая лишних телодвижений