Нужна самая легкая библа для max7219.

Тема в разделе "Arduino & Shields", создана пользователем Ariadna-on-Line, 24 апр 2024.

  1. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Схема - такая. Будет устройство с вспомогательной функцией часов Требуются всего пара-тройка функций - вывод цифры (фонт 3х5), вывод точки по координатам, изменение яркости. Все это должно влезать в 1 кбайт памяти. Если кто знает подобную - киньте ссыль. С уважением.
    ПС. Написать самому - прошу не советовать. Если нечего предложить - пройдите пжлст мимо.
     

    Вложения:

    • Без.png
      Без.png
      Размер файла:
      68,6 КБ
      Просмотров:
      49
    • Безы.png
      Безы.png
      Размер файла:
      49,3 КБ
      Просмотров:
      45
  2. a1000

    a1000 Гуру

    Я так вижу, вы не понимаете механизм работы библиотеки.
    В ней может быть тысяча функций и вес в несколько мегабайт. Но это не значит, что она вся будет скомпилированна в код В код идут только те функции, которые вы вызываете в своём скетче. Хотите вы, к примеру, вывести точку по координатам, из библиотеки будет "извлечён" и "вставлен" только тот кусок, что отвечает за вывод точки. Всё остальное проигнорируется. При этом следует учитывать, что в библиотеках стараются писать более-мение универсальные функции, расчитанные для всех случаев жизни. Как следствие, алгоритмы не самые эффективные и код получается несколько избыточным. Помню, помню - вы просили не советовать писать самому. Дальше продолжать не буду.....
     
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Это понятно. Совершенно согласен.
    Вот пример - на выходе одинаково, но аппетиты разные, особенно по дин. памяти.
     

    Вложения:

    Последнее редактирование: 24 апр 2024
  4. Asper Daffy

    Asper Daffy Иксперд

    Самая лёгкая - это вообще никакой. Всё, что нужно делать с max7219 программируется в лоб, в несколько строк.
     
    parovoZZ, ИгорьК и Bott нравится это.
  5. Bott

    Bott Гик

    Тоже что то подобное делаю. Потрошу библиотеку. Беру нужные функции и вставляю их в код.
     
  6. ИгорьК

    ИгорьК Гуру

    Сталкивался с библиотекой для max7219. Тоже хотел "понадергать" функций. В итоге перечитал даташит и написал все сам.

    Надо понимать вот что - задача делится на:

    1. сформировать массив данных для отправки на max7219.
    2. загнать данные в матрицу;

    Вопрос 2 действительно несколько строк.
    Вопрос 1 - то что и формирует основной объем кода. Но он же и простор для творчества. Здесь и были обнаружены залежи аццкой жути в библиотеке.

    Кодом не поделюсь - писал на Lua, мои часы есть на на форуме, но они вам не помогут.
     
    Последнее редактирование: 24 апр 2024
    Ariadna-on-Line нравится это.
  7. a1000

    a1000 Гуру

    Ну так вы-ж понимаете, что Serial.begin() и Serial.println() это функции класса Serial, и какой они там намутят код, одному богу известно. Я в своё время пробовал дизассемблировать ардуиновский HEX файл пустого скетча. После нескольких попыток понять, что-же там получилось, оставил это глупое занятие. Библиотека-же пишется хотя-бы на СИ. И уже экономия по памяти.
     
  8. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Не буду утверждать наверняка, но зрительная память подсказывает - товарищ Гайвер где-то обнадеживал, дескать его библиотека написана именно в Ардуиновском IDE, (то бишь на Виринге ?!) поэтому надежна как танк. Так что, если я правильно понимаю - обязательность писания библ именно на Си - не обязательна.
     
  9. parovoZZ

    parovoZZ Гуру

    а что входит в понятие "надёжность"?
     
  10. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Насколько помню, это означает по его словам, что библа будет полностью работать на любом МК поддерживаемом в IDE. Видимо из-за этого у Гайвера библы - довольно тяжелые.
     
    Последнее редактирование: 24 апр 2024
  11. b707

    b707 Гуру

    неправильно. Ардуиновский вайринг написан на Си
     
  12. Ariadna-on-Line

    Ariadna-on-Line Гуру

    . Даташит поможет инициализировать микру, да яркостью управлять. Это самое простое.
    Бейсик наверное тоже написан на Си. Но он же Бейсик, а не Си. Так же и с Вирингом
     
    Последнее редактирование: 24 апр 2024
  13. ИгорьК

    ИгорьК Гуру

    Не, не... сначала пробуете ананас, потом рассказываете о нем.

    (Он поможет понять как загонять данные в микруху и как менять их частично. Отсюда напишутся способы формирования массивов и функции отправки данных. Я это смог сделать, вы - тем более)
     
    b707 нравится это.
  14. parovoZZ

    parovoZZ Гуру

    А надежность здесь при чем?
     
  15. parovoZZ

    parovoZZ Гуру

    Так-же, да не также. Basic - это язык программирования, wiring - дуриновский фреймворк.
     
  16. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Всем спасибо. Действительно оказалось не сложно написать свои функции вывода. Сделал стандарт - вывод цифр, картинок, раздельное управление яркостью, стирание. Уложился примерно в 500 байт флеша. Динамической - 0 байт.
    Тема исчерпана.
     

    Вложения:

    Последнее редактирование: 5 май 2024
    a1000 и ИгорьК нравится это.
  17. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Синхронный трехпроводный интерфейс прямо-таки напрашивается быть переделанным в однопроводный.
     
  18. parovoZZ

    parovoZZ Гуру

    Для дисплея? Ну да - необходимо всего два сигнала - сигнал передачи данных и тактирующий. На некоторых дисплеях есть ещё линия записи команд или данных. Можно извратиться и тактирующий сигнал генерировать на стороне дисплея. Но блин зачем?
     
  19. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Затем чтоб впихнуть толстое в узкое ))) Ну вот захотелось мне подключить матрицы к Диджиспарке. А у нее линий - хрен да обчелся.
     

    Вложения:

    • Matrix.png
      Matrix.png
      Размер файла:
      58,4 КБ
      Просмотров:
      38
    Последнее редактирование: 6 май 2024
  20. parovoZZ

    parovoZZ Гуру

    возьми 441/841 тиньку. Там всё нормально с количеством GPIO.