Очень, очень интересно! Простые примеры показывают логику и ход мысли разработчика, спасибо за труды!
@alexanderx2413Ай бұрын
Хорошо поясняешь. Очень интересно, молодец, продолжай в том же духе.
@ТуттиФрутти-ю8ю2 ай бұрын
спасибо за труд!
@safocl97682 ай бұрын
18:03 -- RAZR(1) -- стоит учитывать, что сея функция принимает 8 битовый тип данных, однако по дефолту любая прописанная цифра будет int типом, который не может быть меньше 16 бит. -- в данном случае можно оступиться, если передать число, которое будет выходить за пределы 8 битного MAX -- будет делать не то что задумывалось -- будет обрезано до 8 бит
@safocl97682 ай бұрын
15:43 -- я бы больше задался вопросом о том -- надо ли вообще отдельный юнит трансляции создавать -- если не планируется распространять либу в бинарном виде есть смысл именно сразу в хедере все записывать -- и объявление и описание (реализацию).
@safocl97682 ай бұрын
поскольку описанная функция в хедере может заинлайниться в файле, где будет юзаться, (в отличии от случая как сделано в видео -- сделана новая единица трансляции) -- что даст простор дополнительным оптимизациям компилятора -- чего я считаю следует добиваться для целей программирования микроконтроллеров
@ProPayka2 ай бұрын
Простите, Уважаемый. Но я ни**я не понял! 😅 Обещаю, как только начну разираться в этом всём больше - обязательно вернусь к этим комментариям и перечитаю, попутно переосмысливая каждое предложенное действие 👍
@redtex2 ай бұрын
Зачем case? Делай сразу по номеру разряда со смещением.
@ProPayka2 ай бұрын
Либо мне показалось, что так лучше, либо я попросту пока до этого не дошёл 😅
@redtex2 ай бұрын
@@ProPayka Определяешь разряды в массиве или в отдельных переменных. Величина разряда и будет номером байта в массиве DATA. Т.е. если в раряде 0 - читаешь самый первый; если 5 - читаешь шестой (пятый если основание массива ноль). И не нужно 10 строк CASE.