Нужна ваша помощь господа

Тема в разделе "Закажу проект", создана пользователем BlazeWork, 4 фев 2019.

  1. KindMan

    KindMan Гуру

    А чего тут подсвечивать, type of и end ☺
    Только плохо зашифровали, поменять пару символов и вот и си готово
     
  2. b707

    b707 Гуру

    ну тогда уж полностью в байнари перейти - и знак равно выкинуть, и параметр передавать в виде байта.
    А дальше - запаковать все три цвета в структуру - и свитч с кейсами не нужен будет. Распаковываем посылку и каждый байт пишем в свой пин. Реально весь код поместится в 5 строк :)
     
  3. Rassamaha78

    Rassamaha78 Гик

    Ну это при условии, что с каждой посылкой приходит состояние всех цветов, а если в пакете только изменившиеся данные ? ) И приходят они в разной последовательности ? то не обойтись без идентификатора.
     
  4. b707

    b707 Гуру

    это уже называется "протокол". :)
    Если мы его разрабатываем сами - почему б не договорится слать ВСЕГДА все три цвета в строго заданном порядке.
    Если протокол дан как условие задачи - то не только мои структуры, но и все предыдущие измышления на тему "Давайте будем кодировать цвета цифрами" - надо выкинуть в помойку :) и вернутся к синтаксису "RED=244"
     
  5. NikitOS

    NikitOS Король шутов Администратор

    Фигу!
    Я за дошираки не работаю :)
     
  6. Rassamaha78

    Rassamaha78 Гик

    Я про то, что если данные идут хаотично, т.е. например первый пакет: Red=128, Blue=255 а второй: Green=128, Red=0 то полюбому нужен идентификатор. А по сути, если цвета всего три (RGB), то достаточно посылать одно 4-байтовое число, типа Int, где 3 байта и будут задавать цвета, и ещё один байтик оставить под какие нить данные, ну например идентификатор пакета, тогда вообще вся посылка сведётся к передаче одного чилса, а парсинг элементарным разложением числа на байты со сдвигом >> (shr):
    Код (C++):

    ID  = ( number & 0x000000FF );
    Red  = ( number & 0x0000FF00 ) >> 8;
    Green = ( number & 0x00FF0000 ) >> 16;
    Blue = ( number & 0xFF000000 ) >> 24;
     
    Последнее редактирование: 4 фев 2019
    KindMan нравится это.