Di123 писал(а): 04 сен 2020, 06:01я так ничего и не понял
Ничего зазорного в этом нет, у меня немного другая специальность была по жизни чем у Вас, но тоже не связанная непосредственно с программированием. Но попробую объяснить доступно.
Ув. Дмитрий! Если чесно, мне очень нравится Ваша настойчивость в достижении цели и желание расширить свой кругозор. Но! [spoiler title=Существуют уровни познания.]Так ребёнок сначала играет с кубиками , но уже не пытается их кушать (это начальный уровень), потом складывает стопкой, потом различает цвета и складывает соответственно, а потом и буквы различает и складывает слова. Так вот на начальном уровне познания ребёнку безполезно говорить составе слов (из кубиков что-ли). Но всему свое время. А есть направления познания: вширь или вглубь. Так вот если ребёнку не хватает кубиков с определённой буквой для слов, он может попросить папу докупить их, заодно и ящик для хранения,- это направление вширь. А может сказать, а зачем мне кубики на которых 6 граней и соответственно 6 определённых (не всегда востребованных)букв? Мне, что бы сложить взрослое слово нужно 3 буквы, а не 3 кубика по 6 букв, т.е. 18 букв. Вот ребёнок сдирает наклеечки на кубиках. Это уже познание вглубь. [/spoiler]
Для чего все эти абстракции?
Потому что уровень программирования Ардуино- это расширение вширь с возможностью исследовать вглубь (если вам это нужно)- открывайте биб-ки ядра и смотрите как это работает на уровне языка С/С++.
Уровень ФЛПрог- это расширение вширь с очень наглядной возможностью изучения построения сложных алгоритмов с помощью простых , или т.н. блоков или примитивов (термин из Протеуса).
А вглубь до самого дна- это железо, которое подчиняется набору самых примитивных комманд: открой этот транзистор, выключи тот, потом возникают условия- включи если… и т.д.
Это как повар выбирает специи по отдельности и как домохозяйка которая пользуется наборами специй / приправами для картошки, рыбы, мяса и т.д.
Теперь к ТМ1637.
Уровень железа говорит: подключайте на выводы что хотите и как хотите, главное чтобы на катод подать минус на анод светодиода - плюс, но помните у меня 6 байтовых регистра, для 8 выходов с вытекающим током (ключи с N-каналом), и эти регистры буду переключать синхронно с 6-ю выводами для втекающего тока (ключи с P-каналом). Что загоните в регистры, то и выведу.
Уровень Ардуино говорит: я выдам необходимые биты управления состоянием выходов упакованные в байты в любом порядке, будь-то биты в одном байте- это состояния всех сегментов одного разряда (поразрядная индикация), или байт- это состояния определённого одного сегмента из всех разрядов в порядке разрядов (посегментная индикация). Т.е. для последней, в одном байте бит с индексом 0- это состояние сегмента А в разряде 0, с индексом1- сегментА в разряде1 и т.д.
Уровень ФЛПрог говорит: я пас, у меня нет битовых полей, битовых сдвигов, некоторых типов данных в т.ч. двумерных массивов и, я вообще для непрограммистов.
Если всё-таки я зря стараюсь, повторю: хотя у меня есть блок для вывода байтовой информации (RAW данных), у ТМ1637 для индикатора с ОК только 6-ь сегментов и 8-ь разрядов.
А «мораль у басни такова»:
Нужно брать с благодарностью, то что дают (потому как без благодарности больше не дадут), даже если Вам сейчас кажется, что это не то. Но если это всё таки не то, то каждый волен выбирать из того, что есть, трезво оценивая свой собственный уровень, или пытаться расширить его хоть вглубь, хоть вширь, ведь тогда можно будет создать своё, неповторимое, поняв заодно «стоит ли игра свеч».
Всем добра!