nRF24L01+ : побеждаем модуль.

Тема в разделе "Проводная и беспроводная связь", создана пользователем ИгорьК, 19 июн 2014.

  1. MaksOne

    MaksOne Нерд

    Timing я конечно же прописывал в начале скетча unsignet long.

    Приемник принимает. Если менять передаваемую переменную "data" в передающем скетче и загружать в дyину, то приемник принимает и отображает новую переменную. Т.е. приемник работает постоянно и слушает, что ему передают, и его перезагружать не нужно.
    Паузу для радиоузла отдавать надо, но как тогда объяснить, что, если передатчик лупит информацию в эфир с задержкой delay(10), то всё отлично. А когда требуется разовая отправка информации, например, по нажатию кнопки, то ничего не происходит? Ведь в таких случаях у "радиоузла" времени для этой самой подстройки просто валом. Мы ведь не моментально после включения передатчика жмём на эту самую кнопку. Я пробовал и в разовой отправке данных по флагу добавлять delay(10) после radio.write, но это ни к чему не приводит. Да и никто никаких задержек не ставит после отправки, сколько скетчей я изучал.
     
  2. MaksOne

    MaksOne Нерд

    Очень странная вещь. Два комплекта. Абсолютно идентичных. Подключение двух одинаковых NRF идентичное. В обоих скетчах объект radio прописан одинаково:
    Код (C++):
    RF24 radio(9, 10);
    Результат - проблема, описанная мною выше.
    При очередном тесте системы случайно в передающем скетче прописал объект radio на выводы (7, 10) вместо (9, 10) ииии... О, чудо! Всё заработало! Хотя выводы CE и SS на передающей стороне подключены именно на 9 и 10 пины! Думал, может ошибся, но перепроверил всё десять раз - нет ошибки. 9 и 10 пин.
    Попробовал на приемнике прописать объект так же на 7,10 пины вместо 9,10 - и всё, связь опять теряется.
    Чертовщина какая-то :confused: но, главное, заработало. Хоть и через одно место и совершенно непонятно, почему именно так