LINUX.ORG.RU

AVR LCD I2C modules, библиотеки на чистом AVR-GCC/C/C++

 , , , ,


0

2

добрый день!

есть две LCD-библиотеки Arduio, работающие ТАК_КАК_НАДО с модулем I2C_LCD_mjkdz

hd44780 / bill perry

NewliquidCrystal / fmalpartida

вопрос 1: есть ли у кого «наработки» по переводу этих (одной из двух) библиотек на avr-gcc pure c (на крайняк avr-gcc/c++)?

ADD

в сети достаточно «вариантов» библиотек на СИ для работы с HD44780, есть даже pfleury_avrlibs (i2cmaster, lcdlibrary, uartlibrary), но все библиотеки дисплея на «обычное» подключение, без I2C, понятно, что как-то можно скрестить i2cmaster и lcdlibrary... но потребуется много всего ... не вариант :о)

вопрос 2: нужна библиотек на avr-gcc c прямой работой через I2C модуль, желательно имеющей понятие об MJKDZ, (как пример NewliquidCrystal - имеет конструктор I2C для инициализации и дальше работа с дисплеем, «обычным способом», надеюсь обьяснил понятно)

about MJKDZ - это очень специфичный модуль, кто в курсе, тот, надеюсь, понял, кто не в курсе - как говориться, мал клоп, да вонюч :о)

итак, можно ссылки, мымсли, комментарии...

tag: linux, avr-gcc, ком.строка, makefile, i2c_lcd модуль, NO windows, NO avr-studio/iar/codevision...etc

★★★

MJKDZ - это очень специфичный модуль

Ты вот это имеешь в виду? https://www.ebay.com/itm/1X-IIC-I2C-Interface-Serial-Board-Adapter-Module-Ard...

Пфф, так это же обычный I2C экспандер IO, ничего в нём премудрого нет.

Советую найти даташит на дисплей и PCF8574 и написать библиотеку самому. Это будет проще и быстрее, чем разбираться в чужих либах + компиляторах + тех же самых даташитах. Тем более, если дисплей - обычный hd44780.

Если надо, то могу выложить свой вариант, написанный под 8051. I2C там сделан софтварно. Под AVR задействовать аппаратный I2C тоже ничего сложного, там даже прерывание под него есть.

anonymous ()

но все библиотеки дисплея на «обычное» подключение, без I2C

Очевидно потому, что скорости не те и половину возможностей библиотеки ты через i2c просто не реализуешь, все равно придется промежуточный контроллер пихать.

нужна библиотек на avr-gcc c прямой работой через I2C модуль, желательно имеющей понятие об MJKDZ

Я наверное мазохист, но мне проще самому писать все процедуры и не захламлять память контроллера лишним.

Oberstserj ★★ ()
Ответ на: комментарий от anonymous

Под AVR задействовать аппаратный I2C тоже ничего сложного, там даже прерывание под него есть.

Глюкодром. Допиливать его еще и допиливать, но уже просто некому похоже.

Oberstserj ★★ ()

все готово, шеф, но есть нюансы...

промежуточные результаты, пример из библиотеки собирается:

- arduino-Makefile (далее arduino-mk) - собирается, hex рабочий

- avr-makefile (avr-gcc shell ) - собирается, hex- не рабочий

- avr-makefile (arduino shell ) - собирается, hex- не рабочий

- avrstudio4 - не собирается

- avrstudio 6 & 7 - собирается, hex- не рабочий

(*) ошибка avrstudio4 (не победил)

../lib/arduino_cores/hooks.c:13:6: error: 'void yield()' aliased to undefined symbol '__empty'

(*) - уточнение:

- arduino-mk - сборка, аналогичная arduinio-IDE с помощью arduino-Makefile

- avr-makefile (arduino shell) - с пом-ю makefile, но бинарники сборки - от arduino

надеюсь, понятно пояснил :о)

итого:

нормальная только сборка arduino-mk, другие варианты - нерабочий hex

причем, собирая в окружении arduino с помощью makefile - получаем так-же неработающий hex, следовательно, наиболее вероятная проблема в ключах/аргументах сборки

просмотрел «ключи выхлопа арудино», максимально «адаптировал» основной makefile, не помогло

попытался «импортировать» пример в avrstudio7, не получилось (ни шмогла)

ПРОСЬБА 1 - попробуйте сделать это у себя, и выложите архив, если hex окажется рабочим, то надо разобраться с «ключами»

ВНИМАНИЕ - для сборки пример из библиотеки LCDlibTest.ino, изменить конструктор под I2Cexp_BOARD_MJKDZ (в архивах main.cpp)

библиотека https://github.com/duinoWitchery/hd44780/archive/0.9.3.tar.gz

пример для сборки

hd44780-0.9.3/examples/hd44780examples/LCDlibTest/LCDlibTest.ino

«напрямую» - собрать в arduino-ide не получилось (несмотря на то, что «архив» без ошибок «импортируется» в arduino как библиотека с примерами) мудрить не стал, т.к. нормально собирается c помощью arduino-mk

ПРОСЬБА 2 - посмотрите проект avrstudio4, хотелось бы разобраться с ошибкой

спасибо

URL

sunjob ★★★ ()
Ответ на: комментарий от sunjob

ошибка в AVR-Studio4

эй народ, жители поднебесной, боевые программисты?!

неужели ни кто не сталкивался с этой ошибкой в AVR-Studio4?

в 6 и 7 студии все нормально, но, я подсовывал последний toolchain и 4ка все равно выдавала ту-же ошибку

думаю (я так думаю! х.ф. мимино) - что надо изучить выхлоп сборки (в данный момент изучаю :о)

...

ваши мысли, идеи, ссылки, просто волшебные пендили

sunjob ★★★ ()
Последнее исправление: sunjob (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.