Раскидать побитовый код с nRF24L01
- Войдите на сайт для отправки комментариев
Вс, 30/03/2014 - 08:55
Вопрос конечно на уровне новичка, но сделать не получается. Приходит сигнал с nRF24L01, который нужно раскидать как на картинке.
Есть пример програмного кода, как это можно сделать?
Ну хотите самый простой и понятный способ... Сначала разделите полученные данные на 0x10000 в результате будет 0xFF, далее результат вычитайте из полученных данных, будет 0x0ACC55... Далее делите на 0x10000 в результатн получите 0x0A... Дальше самидогадаетесь :-)
Есть некрасивый способ делить на 0x100 и присваивать 8битной переменной то что получилось. В результате в восьмибитном чаре или байте будет получатся значение двух младших циферек.
Можно вместо деления использовать сдвиг.
В общем удочку я вам дал...
Есть более правильный способ с точки зрения микропроцессоров - через структуры.... Хотите в понедельник напишу ? А хотите в гугле поищите :-) Но рыба только завтра.
В общем удочку я вам дал...
Щет... Не заметил. Помешал процессу обучения. Сорри :)
Ну и как он теперь без рыбы !?
Получим самый оптимальный код с точки зрения объема и быстродействия ;) Однако как у любого колдовства у этого способа есть недостаток старший байт будет иметь младший индекс, иными словами в нулевом элементе массива окажется 0хFF. Но это исправляется логикой программирования, что не стоит ни лишнего байта :-)
Кстати в своем первом сообщении ошибся первое деление должно быть на 0х1000000, второе на 0х10000, третье на 0х100.
Как то сделал, вроде работает
Во и удочка не нужна... в общем рыбу можно и динамитом наглушить... и шут с ней, что половина сдохнет и утонет :-)
Как то сделал, вроде работает
Что за извращение ?? )
Данные можно разделить как incomingByte[0] , incomingByte[1] и тд.. ранее объявив переменную как массив..
Вообще примеров кода для радиомодулей в интернете и тут полно.