Специальные цены   новые товары
Закрытая тема
Показано с 1 по 6 из 6

Arduino Serial - пусто, SoftwareSerial - данные получаю

Тема раздела Самодельная электроника, компьютерные программы в категории Общие вопросы; Друзья, доброго дня! Пытаюсь читать данные с APM (MavLink), в качестве основы использую готовый проект, то есть само чтение должно ...

  1. #1

    Регистрация
    20.02.2015
    Адрес
    Москва
    Возраст
    37
    Сообщений
    1,112
    Записей в дневнике
    2

    Arduino Serial - пусто, SoftwareSerial - данные получаю

    Друзья, доброго дня!

    Пытаюсь читать данные с APM (MavLink), в качестве основы использую готовый проект, то есть само чтение должно работать (раз другие этот код используют), но забавно, что ни одна моя ардуинка не читает ничего через хардварный сериал! Попытки менять местами провода и т.п. ни к чему не приводят.

    Я провобал написать ping-pong на двух ардуинках, чтобы они байт туда-сюда пересылали и моргали диодом соответственно. Все работает, друг дружку ардуинки видят через хардварный сериал, а вот APM не хотят. Скорость всегда 57600, то есть если уж что и не должно работать из-за тормозов, то SoftSerial, но никак железный. Примечательно, что AltSoftSerial тоже не работает ((

    Куда копать уже не понимаю, может знатоки подскажут? Может я чего-то об ардуинках не знаю?

  2.  
  3. #2

    Регистрация
    22.03.2015
    Адрес
    Пермь
    Возраст
    54
    Сообщений
    266
    Записей в дневнике
    1
    а APM данные вообще шлет? Осцилом смотрели или на minimOSD параллельно подключенной что-то отображается?
    Не все прошивки APM шлют данные по мавлинку сразу, надо в МП включить галочку. Или слать навстречу heartbeat.

  4. #3

    Регистрация
    20.02.2015
    Адрес
    Москва
    Возраст
    37
    Сообщений
    1,112
    Записей в дневнике
    2
    Эдик, так вся загвоздка как раз в том, что через софтварный сериал пакеты приходят в полном изобилии. Надежность хромает, так как софтварный не тянет 57600 практически. Стоит поменять определение переменной сериал порта на хардварный и переткнуть, как в ответ приходит тишина и редкие отдельные биты данных. При этом мой код шлет запросы на получение данных, и в MP я все настраивал так же, как для OSD делал, чтобы и без запросов данные сливались. Сейчас попробую параллельно модему почитать, что придет. Осциллографом, вот, пока не обзавелся, а времени собрать свой из мобилы и подручного хлама времени не хватает...

  5. #4

    Регистрация
    22.03.2015
    Адрес
    Пермь
    Возраст
    54
    Сообщений
    266
    Записей в дневнике
    1
    Используется язык ардуино?
    Предположу невероятное: если инициализировать последовательный порт в АВР на 57600 с кварцем 16 Мгц используя х2 и без него ошибка получается, судя по калькулятору +2.124% и -0.794%. Поэтому если в АПМ одна инициализация, а в библиотеке ардуно другая - ошибка становится критической...,
    Да и как в ардуино сделан прием, по прерываниям с кольцевым буфером или по опросу, может здесь пропуски?
    Я писал просто на С, все принимается без проблем.

  6.  
  7. #5

    Регистрация
    20.02.2015
    Адрес
    Москва
    Возраст
    37
    Сообщений
    1,112
    Записей в дневнике
    2
    Цитата Сообщение от emax Посмотреть сообщение
    с кварцем 16 Мгц используя х2
    Эдик, спасибо за интересную версию! Единственная беда: я, худо-бедно - программист, но я очень плохо разбираюсь в радиоэлектронике. Нет, транзистор от конденсатора я отличаю, конечно, но вот от мосфета - не факт. Да и тема с кварцами для меня как большое загадочное нечто, я только суть улавливаю. К слову, возможно, что ваша версия очень верная: исходники, на основе которых я все это пытался наваять, были собраны как раз на C, но вот с ним у меня некоторые проблемы (опыта мало, не загружал и не компилировал ничего для ардуинок вот так), поэтому пользую ардуино ide.

    К слову, проблему так и не решил, пока забросил. На днях снова поковываю, но склоняюсь к teensy LC, там все работало "изкоробки" на ура.

  8. #6

    Регистрация
    12.02.2011
    Адрес
    Москва
    Возраст
    51
    Сообщений
    806
    Оченно интересно. Про кварц правильно написали, ошибка растёт, но до критической не доходит ИМХО. Ловил пакеты во всём диапазоне до 115200. Другое дело как Вы в скетче прописали приём посылки. Если последовательно с парсером и выводом, то половину точно потеряет. Издержки IDE.

Закрытая тема

Похожие темы

  1. micro minimosd - не могу перешить. OSD рабочее
    от Bravo13 в разделе Полеты по камере, телеметрия
    Ответов: 230
    Последнее сообщение: 06.05.2018, 21:23
  2. ArduCopter Mega: порт на обычную Arduino (тестим)
    от Syberian в разделе Коптеры. Комплектующие, сборка, настройка.
    Ответов: 9007
    Последнее сообщение: 06.08.2017, 23:23
  3. Квадрокоптер на Arduino DUE
    от Dmitry_DM в разделе Коптеры. Комплектующие, сборка, настройка.
    Ответов: 81
    Последнее сообщение: 31.08.2015, 20:46
  4. Продам Arduino ethernet shield
    от SpeedStep в разделе Барахолка. Разное
    Ответов: 5
    Последнее сообщение: 20.07.2015, 22:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения