GPS и SD module конфликт
- Войдите на сайт для отправки комментариев
Вс, 13/05/2018 - 03:41
Привет! Ситуация такая, нужно данные с gps neo-6m модуля сохранять на карту памяти и отправлять по радио модулю. Проблема в том, что sd модуль и gps модуль не могут вместе инициализироваться. По отдельности все работает, но вместе - нет. В чем может быть проблема? Схему подключения и код приложил. Спасибо.
#include <SoftwareSerial.h>
#include <SD.h>
SoftwareSerial GPS(10, 9); // RX, TX
void setup()
{
Serial.begin(9600);
SD.begin(8); //убираем это и данные с gps идут
GPS.begin(9600);
}
void loop()
{
if (GPS.available())
Serial.write(GPS.read());
if (Serial.available())
GPS.write(Serial.read());
}
В порядке эксперимента: softserial пустить на 8/9, а CS модуля SD - на стандартный 10.
.
CS стандартный вообще 4, судя по примерам, нет?
Не знаю, как там по примерам, но дефолтный такой:
CS стандартный вообще 4, судя по примерам, нет?
4 обычно используется для Ethernet Shield потому, что в данном шилде карта так распаяна.
А 10 - стандартный "выбор устройства" для SPI. Если 10 занят, использован может быть любой другой. А если используется другой, то 10 обязательно должен быть настроен на выход. А Вы его сконфигурировали как RX, т.е. на ввод.
CS стандартный вообще 4, судя по примерам, нет?
4 обычно используется для Ethernet Shield потому, что в данном шилде карта так распаяна.
А 10 - стандартный "выбор устройства" для SPI. Если 10 занят, использован может быть любой другой. А если используется другой, то 10 обязательно должен быть настроен на выход. А Вы его сконфигурировали как RX, т.е. на ввод.
Да, я использую 8 для этого. То есть мне стоит попробовать поменять 9 и 10 пины местами?
Почему бы Вам не попробовать начать с того, что посоветовал sadman41?
Почему бы Вам не попробовать начать с того, что посоветовал sadman41?
Потому что под все это дело уже плата готовая есть и модули припаяны...
Т.е. Мы сначала распаиваем плату и только потом начинаем ее отлаживать?
Ну попытайтесь поменять 9 и 10, хотя мне трудно понять, чем это Вам поможет, если разъем уже также распаян.
CS стандартный вообще 4, судя по примерам, нет?
4 обычно используется для Ethernet Shield потому, что в данном шилде карта так распаяна.
А 10 - стандартный "выбор устройства" для SPI. Если 10 занят, использован может быть любой другой. А если используется другой, то 10 обязательно должен быть настроен на выход. А Вы его сконфигурировали как RX, т.е. на ввод.
Действительно, поменяв местами 9 и 10 пины на GPS удалось решить проблему и теперь в порт вылетают gps данные. Спасибо.