Передача разных типов данных по NRF24L01

Тема в разделе "Проводная и беспроводная связь", создана пользователем Marsik, 7 май 2019.

  1. Marsik

    Marsik Нерд

    Здравствуйте!
    Как передать данные разных типов по NRF24L01?
    Например, передать массив данных типа int и переменную float.
     
  2. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    А что, гугл уже заблокировали?
    Яндекс же остался!
     
  3. SergeiL

    SergeiL Гуру

    Любая переменная - это N-ое кол-во байт. Берете и передаете. Потом разбираете побайтно.
    Или еще вариант, переводите в строку с разделителями, типа запятая, можно и в json, и передаете. А на другой стороне разбираете.
     
    Marsik нравится это.
  4. b707

    b707 Гуру

    В примерах все есть.
    Например в примере GettingStarted_HandlingData передают long и float
     
  5. b707

    b707 Гуру

    Зачем? - делаете структуру - и ничего разбирать не надо
    еще хуже :)
     
    Marsik нравится это.
  6. SergeiL

    SergeiL Гуру

    А чем структура отличается от того что я написал? :)
    А для передачи в OpenHAB Приходится так делать. ;)
    И наглядно и OH понятно! ;)
     
  7. SergeiL

    SergeiL Гуру

    А вот теперь давайте смотреть, что хуже? :)

    Во первых, На разных платформах размер данных и границы выравнивания отличаются!
    Во вторых, Компиляторы разные, поэтому см. первое!
    В третьих - насколько корректно писатель запихнет данные в структуру?

    А текстовые данные легко читаются и дебажутся.
    Что проще и легче?
     
  8. DIYMan

    DIYMan Гуру

    Для этого есть директивы препроцессора, например, #pragma pack.
    Каждый современный компилятор С++ поддерживает указание границ выравнивания директивами препроцессора, насколько я знаю.
    CRC - и будет проверка на корректность. Контрольные суммы используются в куче мест, даже сейчас - отобразив это сообщение на экране вашего компьютера - он (компьютер) много раз проверил чексумму IP header, например.

    Заблуждение, основанное на однобокости личного опыта. Легко дебажатся и читаются как раз структурированные данные, а не абстрактные "текстовые". Если текстовые данные будут структурированными, например, XML - да, легко читаются. Отлаживаются - не всегда легко, у каждой медали есть, как минимум, две стороны.
     
    parovoZZ и DetSimen нравится это.
  9. DetSimen

    DetSimen Гуру

    Есть такие люди, лисёныш, которых предали анафеме во всех поисковых системах. Ну или которые худо по писаному разбирают, надо штоп абьяснил кто.
     
    Airbus и BAR__MEN нравится это.
  10. SergeiL

    SergeiL Гуру

    Вам и мне это известно. А ТС? Не уверен.
    Вопрос что проще и понятней для ТС, для самостоятельного решения вопроса? :)
     
  11. Marsik

    Marsik Нерд

    Вопрос решился отправкой структуры данных. Всё оказалось просто. Спасибо за наводку!
     
    b707 нравится это.
  12. Marsik

    Marsik Нерд

    А что, вариант "промолчать и пройти мимо" тоже забанили?)
     
  13. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    Абыдна
     
  14. parovoZZ

    parovoZZ Гуру

    данные разных типов наливаешь по разные ведра. Обязательно красной краской подпиши на ведре - для чего и что внутри. Если перепутаешь - работать не будет!!! Далее, вставляешь воронку в трансивер и поглубже - чтоб ничего мимо не пролилось. И далее из ведер выливаешь. По ту сторону луны также надо поставить воронку, но у же в ведро!!! Смотри не перепутай!!! А то луна спрячется и больше не покажется!!!
     
  15. parovoZZ

    parovoZZ Гуру

    ога, ага))) Выравнивание структуры сделано? А то будет потом - на аюдурине работало, а на малине крякозябры(((
     
  16. DetSimen

    DetSimen Гуру

    Потом будет еще веселье, когда в структуре строки захотят появицца. Тут и начнется хлебание сериализации структур полным ртом.