Использование библиотек Arduino с микроконтроллером на базе ARM

Неделю назад я начал возиться с LoRa. Я получил свой комплект STM32L151 IM880A.

Компания, предоставившая чип модема SX1272 LoRa (используемый в комплекте), предоставила некоторые библиотеки, но многие функции все еще не реализованы и по-прежнему не подходят для использования в нескольких P2P-приложениях.

Погуглив, я наткнулся на компанию Libelium, которая использовала чип SX1272 в конструкции своих продуктов и предоставила полезный набор библиотеки, которые предоставляют множество функций, а также реализуют своего рода стек протоколов кадров LoRa, идеально подходящий для использования в приложениях P2P.

Проблема в том, что я использую в своем проекте STM32, а библиотеки Libelium написаны для Arduino. Поэтому мне было интересно, есть ли разумный способ портировать библиотеки Arduino, чтобы я мог использовать их в своих проектах STM32 Keil, поскольку библиотеки кажутся огромными.

Советы, подсказки и ссылки будут признательны (у меня нет опыта использования Arduino и я не знаком со структурой библиотеки Arduino).

, 👍0

Обсуждение

Вы можете использовать программное обеспечение Arduino на STM32: http://jeelabs.org/book/1545d/, @JimmyB

Ардуино использовать не хочу, просто хочу узнать, можно ли портировать библиотеки и насколько это удобно., @spasoye

Хорошо, теперь я хочу избавить себя от боли при портировании/отладке. Мне было интересно, есть ли доступный стек, который работает на радиоуровне LoRa (не реализует LoRaWAN), что позволит мне назначить какой-то ID/NODE_ADDR каждому узлу и иметь возможность устанавливать соединение между ними, поэтому P2P-связь?, @spasoye


2 ответа


1

Каждый раз, работая над проектом, я использую библиотеки Arduino и портирую их на свой микроконтроллер. Я использовал текстовый редактор sublime с множественным выбором и редактированием (ctrl-d). Затем я копирую код arduino в sublime и мою uC IDE, затем компилирую его в IDE, прокручиваю до первой неопределенной функции и добавляю ее определение в код или изменяю его с помощью множественного редактирования и выбора sublime (например, цифровое чтение и запись, по моему мнению, бесполезны). После этого обновляю файл в вашей IDE и снова компилирую.

Вы будете делать это, пока не закончите, и это займет некоторое время.

,

0

Поэтому мне стало интересно, есть ли разумный способ портировать библиотеки Arduino, чтобы я мог использовать их в своих проектах STM32 Keil, поскольку библиотеки кажутся огромными.

Да. порт STM32 arduino использует GCC, который не сильно отличается от MDK или ADS - я портировал довольно много туда-сюда из GCC <-> MDK, и один из GCC в ADS. Если код написан хорошо, во многих случаях все, что вам нужно сделать, это изменить части кода, связанные с isr (несколько имен) и нажать перекомпилировать.

,