|
|
|
AVR LCD I2C modules, библиотеки на чистом AVR-GCC |
|
|
|
Jun 1 2018, 10:08
|
Участник
Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639
|
добрый день! есть две LCD-библиотеки Arduio, работающие ТАК_КАК_НАДО с модулем I2C_LCD_mjkdzhd44780 / bill perryNewliquidCrystal / 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
Сообщение отредактировал sunjob - Jun 1 2018, 15:13
|
|
|
|
|
Jun 3 2018, 10:36
|
Участник
Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639
|
"все готово, шеф, но есть нюансы..."промежуточные результаты, выдает ошибку в avr-studio4: Код ../lib/arduino_cores/hooks.c:13:6: error: 'void yield()' aliased to undefined symbol '__empty'
Сообщение отредактировал sunjob - Jun 3 2018, 15:35
|
|
|
|
|
Jun 3 2018, 17:50
|
Профессионал
Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848
|
Цитата(sunjob @ Jun 3 2018, 13:36) . . . промежуточные результаты, выдает ошибку в avr-studio4: Код ../lib/arduino_cores/hooks.c:13:6: error: 'void yield()' aliased to undefined symbol '__empty' Ну так, ОНО сказало что проблема внутри hooks.c, а именно нет определения для __empty. (макрос скорее всего, смотрите файл). Сама ф-ия yield() - вызов планировщика для переключения задач. Обновите софтину на AtmelStudio из последних, может из-за этого (код требует новой версии среды разработки и-или библиотек).
|
|
|
|
|
Jun 3 2018, 17:59
|
Участник
Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639
|
Код static void __empty() {} void yield(void) __attribute__ ((weak, alias("__empty")));
hooks.c:11:6: error: 'void yield()' aliased to undefined symbol '__empty' avr-studio4 - как есть, обновляться не будет, тулчейны менял... не помогло как ни будь "адаптировать" под старую версию? спасибо ### UPDATE ### AVR 8-bit Toolchain v3.6.1 – Windows 5/14/2018 URL1подсунул этот тулчайн, ошибка та-же...
Сообщение отредактировал sunjob - Jun 3 2018, 18:45
|
|
|
|
|
Jun 3 2018, 19:17
|
Участник
Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639
|
ну да, я уже сам подумываю об этом :о) доберусь, гляну... (хотя там не все так просто, с обьявлением "слабого символа" и "синонима"...) по поводу старших версий студии - не планируется а 4я студия исключительно для отработки и факультативного изучения родная ось - линух в 7й студии как собирал проект? (импорт из arduino/ino или маунальное создание пустого проекта и перекидывание в ручную) я не смог в 7ю студию добавить расширение arduino_ide_for_atmel_studio_xxx.vsix, ни в ручном ни в каком режиме, в инете предлогают обновить Visual-Studio до последней... ну я забил на это "великое действо", создавал проекты с "нуля") p.s. ясен пень, дотошно проверил, на 6 и 7-ке собирается нормально... поэтому склоняюсь к тому, что все таки сама 4ка что-то делает "не то" :о), надо еще "выхлоп" поизучать ### UPDATE ### немного подрихтовал, теперь непонятная проблема с линковщиком выкус лога в приложении
avrstudio4_links2.txt ( 1.21 килобайт )
Кол-во скачиваний: 16
Сообщение отредактировал sunjob - Jun 4 2018, 16:59
|
|
|
|
|
Jun 6 2018, 09:09
|
Участник
Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639
|
некоторая мысль по этому поводу) Цитата в h-файлах кроме объявлений содержится код h & c/cpp файлы по сути это одно и то-же, и, по идее, это не является ошибкой в С (тем более в С++) вполне корректный код Код // // main.h // void func1(void); void func2(void) { printf("func2()\n"); }
// // main.c // #include "main.h" void func1(void) { printf("func1()\n"); } int main (void) { printf("main()\n"); } проблема-то именно в версии студии (avrstudio4) изучил выхлопы студий, нашел некторые "особенности" - в 7й студии удобно определяются "ключи" для С и С+ - в 4й студии можно сделать "либо для всех", либо "персонально" для каждого "файла" с/с++ (пока на этом этапе) все имхо и, как обычно, я ни чего не понимаю спасибо
Сообщение отредактировал sunjob - Jun 6 2018, 09:14
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|