Разница там в занимаемом месте в окне IDE - Сишные файлики видны да и в папке проекта обязаны присутствовать, а библиотека (с классом) может быть вынесена. В принципе - кому как удобнее..
Для самодельной функции вывода в случае приложения к MAX7219 в принципе особой разницы нет - там ведь только пересылка данных - регенерацию дисплей сам делает. Да и разницы между самоделкой и встроенной функцией shiftOut особо нету - оная также программным способом выполняется. Плюс перестраховка...
Касательно "обратного знакогенератора" - понадобиться может для ускоренной обработки данных, уже выведенных на дисплей.
К примеру быстрый анализ статуса меню по "беглому курсору" и текущему префиксу - кракозябре (в том же K145M).
Относительно простого знакогенератора - облегчает жизнь при предобработке данных. Использовать или нет - то уже от замысла в основной программе зависит (выводим цифирки или символы/кракозябры).
А вот насчет двух буферных массивов... при "полноценной динамике" на одном МК без обвязки (или с минимальной обвязкой на простейшей "рассыпухе") нужны оба - и "видеопамять" и "предобработка", а для спецконтроллеров только "предобработка" - буфер для вывода содержат сами спецконтроллеры.
То уже несколько иная тема.
Пока что у меня была цель "дистанционно" по схемке да в рамках "референса" ардуино повторить версию алгоритма, хорошо отработанного под ассемблером. Вроде удачно получилось - но "для ограниченной области применений" - адуринка таки для неспешной обработки данных больше годиться, в компании с периферийными спецконтроллерами (от готовых изделий до самодельных из "подоручных" малолапых МК).


