Я хотел бы знать, можно ли использовать выборочные библиотеки arduino в наших проектах AVR. Например: я использую Atmega328 и студию Atmel. Я хотел бы использовать файл библиотеки связанных с DS1307 (исходные файлы twi.c и Wire.c, я думаю) в моем проекте. Можем ли мы использовать отдельные библиотеки, а затем включать соответствующие файлы заголовков в нашу сборку? Если да, то где расположены эти библиотеки и что такое расширение? Я видел несколько статей о строительстве всего проекта arduino в студии Atmel, и меня это не интересует. Я хочу обойтись без установки arduino, если это возможно (я могу установить arduino только для получения библиотеки, если это необходимо). Я думал о включении исходных файлов, но они находятся на C++, и я начал получать сообщения об ошибках, когда они включены в проект C. Можно ли обойтись без изменения исходных файлов?Как использовать выбранные библиотеки arduino?
ответ
После поиска, я нашел, что
Любой 5V микроконтроллер с I2C встроенных может легко использовать DS1307.
также проверьте первые строки here.
Я быстро посмотреть на DS1307.c
и обнаружил, что не использует какие-либо функции из wire.c
Но вместо того, чтобы все, что вы могли бы получить исходный код для DS1307.c
и реализации любой функции начинается с i2c
самостоятельно и небольшие изменения для прерывания функций , и вы можете использовать его в своем коде. Я загрузил библиотеку из этого link.
Есть много Twi/i2c библиотек для АВР, вы можете скачать наиболее подходящий и переименовать его функция как функция вызывается из DS1307.c
Спасибо для обновления. Моя вина в исходном посте. 1307 был всего лишь примером, который я дал и отредактировал сейчас. В основном я задаю вопрос в целом и хочу знать, можем ли мы брать выборочные библиотеки из arduino и интегрироваться с нашим кодом без каких-либо или незначительных изменений. Если я интегрирую полный ардуино, мой след пойдет вверх. –
Я бы с включая исходные файлы (если я хорошо помню, что они находятся в папке установки arduino). Однако эти библиотеки построены для среды arduino, поэтому вам придется искать любую конкретную функцию ('digitalRead' \' Write', 'millis()', ...) и переписывать их ... – frarugi87