sunjob 0 1 июня, 2018 Опубликовано 1 июня, 2018 (изменено) · Жалоба добрый день! есть две 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 Изменено 1 июня, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 24 1 июня, 2018 Опубликовано 1 июня, 2018 · Жалоба Вы будете смеяться, но "библиотеки ардуино" это и есть чистейший AVR-GCC, вернее, WinAVR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 1 июня, 2018 Опубликовано 1 июня, 2018 · Жалоба 1. Если хотите слезть с ардуньи, то меняйте и стиль разработки. Вместо поиска библиотеки, надо искать даташит. А потом просто писать по нему программу и всё. 2. Выкинуть нахрен этот переходник с I2C и подключиться напрямую к ЖКИ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 1 июня, 2018 Опубликовано 1 июня, 2018 · Жалоба итак, можно ссылки, мымсли, комментарии... В CodeVision эти индикаторы должны поддерживаться. Пробной версии для не слишком сложного проекта вполне хватит. И в этом случае я вообще не вижу смысла в использовании GCC. Ну, или как уже сказали - написать свою реализацию, это не так уж и сложно ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 3 июня, 2018 Опубликовано 3 июня, 2018 (изменено) · Жалоба "все готово, шеф, но есть нюансы..." промежуточные результаты, выдает ошибку в avr-studio4: ../lib/arduino_cores/hooks.c:13:6: error: 'void yield()' aliased to undefined symbol '__empty' Изменено 3 июня, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 3 июня, 2018 Опубликовано 3 июня, 2018 · Жалоба . . . промежуточные результаты, выдает ошибку в avr-studio4: ../lib/arduino_cores/hooks.c:13:6: error: 'void yield()' aliased to undefined symbol '__empty' Ну так, ОНО сказало что проблема внутри hooks.c, а именно нет определения для __empty. (макрос скорее всего, смотрите файл). Сама ф-ия yield() - вызов планировщика для переключения задач. Обновите софтину на AtmelStudio из последних, может из-за этого (код требует новой версии среды разработки и-или библиотек). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 3 июня, 2018 Опубликовано 3 июня, 2018 (изменено) · Жалоба 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 подсунул этот тулчайн, ошибка та-же... Изменено 3 июня, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 3 июня, 2018 Опубликовано 3 июня, 2018 · Жалоба Код в hooks.c у меня тотже самый. Под AtmelStudio7/avr8-gnu-toolchain-3.6.1.1750. + W10 проект компилируется без ошибок. Сомневаюсь, что в ардуине обеспечена совместимость снизу вверх, да и сверху вниз тоже. Берите последнюю версию среды разработки и перетягивайте код под нее, а не наоборот. ps "раскройте" макрос в функцию, чтобы без алиаса. Может (вдруг) это будет единственная ошибка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 3 июня, 2018 Опубликовано 3 июня, 2018 (изменено) · Жалоба ну да, я уже сам подумываю об этом :о) доберусь, гляну... (хотя там не все так просто, с обьявлением "слабого символа" и "синонима"...) по поводу старших версий студии - не планируется а 4я студия исключительно для отработки и факультативного изучения родная ось - линух в 7й студии как собирал проект? (импорт из arduino/ino или маунальное создание пустого проекта и перекидывание в ручную) я не смог в 7ю студию добавить расширение arduino_ide_for_atmel_studio_xxx.vsix, ни в ручном ни в каком режиме, в инете предлогают обновить Visual-Studio до последней... ну я забил на это "великое действо", создавал проекты с "нуля") p.s. ясен пень, дотошно проверил, на 6 и 7-ке собирается нормально... поэтому склоняюсь к тому, что все таки сама 4ка что-то делает "не то" :о), надо еще "выхлоп" поизучать ### UPDATE ### немного подрихтовал, теперь непонятная проблема с линковщиком выкус лога в приложении avrstudio4_links2.txt Изменено 4 июня, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 5 июня, 2018 Опубликовано 5 июня, 2018 · Жалоба Если в h-файлах кроме объявлений содержится код, то такие грабли это не ошибка, а закономерность. Проверяйте "двойные" и транзитные включения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 6 июня, 2018 Опубликовано 6 июня, 2018 (изменено) · Жалоба некоторая мысль по этому поводу) в 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й студии можно сделать "либо для всех", либо "персонально" для каждого "файла" с/с++ (пока на этом этапе) все имхо и, как обычно, я ни чего не понимаю :laughing: спасибо Изменено 6 июня, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться