Comments 8
Хотел уж бросить. Но, через 5-6 абзацев, - затянуло. Спасибо.
Странно что не затронута тема выравнивания.
Статья и так огромная. Про выравнивание же надо отдельную статью делать, тут парой абзацев не обойтись. Мои статьи и так по диагонали многие читают из-за объёма (что подтверждается комментариями к предыдущим нескольким текстам). Так что уминаю материал, как могу.
Здесь мы считаем, что про структуры все всё знают. Что поля для работы с железом спроектированы кем-то так, что выравнивание точно сработает. Мы просто хотим с этим железом начать работу. И я показал, как это делать эффективнее, даже на Питоне.
Кое-что про выравнивание я рассказываю тут https://dzen.ru/video/watch/6754880c482719149667f86c?collection=author%3Ac5409e49-c49c-4110-9806-7549a80fa046&order=reverse
А теперь представим, что всё это помещено в данную статью... Нет, её точно мало кто до конца тогда прочтёт...
И таки да. Вот такая интересная тема тоже в статье не поднимается по той же причине (это статья,, а не толстый учебник, у статьи есть конкретная тема). https://www.youtube.com/watch?v=ANrFEu9IatQ&list=PLcXpxQEvs8cPCuSy7hliyFXI1l829u7RZ&index=28
И кстати, о чтении по диагонали из-за объёма... А Вы точно видели эту фразу?
Также стоит помнить, что у нас длина готовой структуры будет не кратна 32 битам, так что стоит установить упаковку данных с точностью до байта, чтобы не происходило автоматических выравниваний.
Так что тема-то затронута. Ровно настолько, насколько это нужно для статьи.
Полезно. Надо проверить на практике.
Столько прочитал, а результату мало. Где разбор кодов ответа? Опрос параметров настроек?
Мне он на F1-A1-FF-01-00-00 такую партянку выдает, что я даже не знаю что там что. А рефлектор не показывает этот кусок кода. Пробовал разбирать как float32, но там похоже не все float32.
Где разбор кодов ответа?
Давайте я угадаю, что Вы читали статью по диагонали. Потому что там дословно сказано:
Всё работает! Но статья снова получилась огромной, поэтому дописывать код для передачи данных и делать анализатор ответов мы будем уже в следующей части. Если, конечно, интерес к теме ещё не угаснет.
Мне он на F1-A1-FF-01-00-00 такую партянку выдает, что я даже не знаю что там что
Давайте я угадаю, что статьи по ссылкам Вы тоже читали по диагонали. Иначе во второй статье нашли бы раздел Все данные из устройства одновременно. Там проведён разбор этой команды.
Да, я читал по диагонали, потому что хотел быстрый результат. Большую часть уже сам разобрал(что было float32 и string). Но к статье вернусь позже.
Ода структурам на примере работы с блоком питания Fnirsi DPS 150