Arduino Pro Мини имя в CMakeList.txt в Клионе

Недавно я попытался запустить свой Arduino Pro Mini (5v 16mhz)в Clion.

Я попытался настроить CMakeList.txt но я получаю следующую ошибку:

Ошибка:Не удается найти f_cpu в boards.txt для Arduino board ID (pro), прерывание.

Я использовал следующую конфигурацию:

set(${CMAKE_PROJECT_NAME}_BOARD pro)

В тексте, расположенном по адресу C:\Program Файлы (x86)\Arduino\hardware\arduino\avr\boards.txt Я нашел следующие строки:

pro.name=Arduino Pro or Pro Mini

pro.upload.tool=avrdude
pro.upload.protocol=arduino

pro.bootloader.tool=avrdude
pro.bootloader.unlock_bits=0x3F
pro.bootloader.lock_bits=0x0F

pro.build.board=AVR_PRO
pro.build.core=arduino
pro.build.variant=eightanaloginputs

## Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
## -------------------------------------------------
pro.menu.cpu.16MHzatmega328=ATmega328 (5V, 16 MHz)

pro.menu.cpu.16MHzatmega328.upload.maximum_size=30720
pro.menu.cpu.16MHzatmega328.upload.maximum_data_size=2048
pro.menu.cpu.16MHzatmega328.upload.speed=57600

pro.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0x05
pro.menu.cpu.16MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

pro.menu.cpu.16MHzatmega328.build.mcu=atmega328p
pro.menu.cpu.16MHzatmega328.build.f_cpu=16000000L

Поэтому мне интересно, какое имя платы использовать, чтобы заставить Pro Mini работать. Заранее спасибо!

, 👍1

Обсуждение

Существует довольно похожая проблема [GitHub issue](https://github.com/queezythegreat/arduino-cmake/issues/162)., @KIIV


1 ответ


1

Проблема здесь в том, что Pro Mini поставляется в нескольких вариантах для разных напряжений / скоростей и т.д. Различные варианты выбираются с помощью меню в среде разработки.

КЛион не знает ни об этих меню, ни о том, как найти f_cpu из нужного для вашей платы.

Таким образом, есть два решения:

  1. Создайте свою собственную запись на плате для Pro Mini без записей в меню.
  2. Используйте более раннюю версию IDE, в которой платы Pro Mini представлены в виде отдельных записей (в основном любая версия до создания системы меню).

Если вам нужен новейший API, вам придется пройти маршрут 1. Это может быть также просто, как изменять существующие про.* записи, чтобы удалить меню и заменить этот раздел только флаги, которые устанавливаются правильное меню (в основном удалить все профи.меню.* записи, за исключением платы, удалить меню.процессор.<whatever>. от каждой позиции, а также меню для ввода имени строки.)

Таким образом, вы бы в основном изменили эти строки:

## Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
## -------------------------------------------------
pro.menu.cpu.16MHzatmega328=ATmega328 (5V, 16 MHz)

pro.menu.cpu.16MHzatmega328.upload.maximum_size=30720
pro.menu.cpu.16MHzatmega328.upload.maximum_data_size=2048
pro.menu.cpu.16MHzatmega328.upload.speed=57600

pro.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0x05
pro.menu.cpu.16MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

pro.menu.cpu.16MHzatmega328.build.mcu=atmega328p
pro.menu.cpu.16MHzatmega328.build.f_cpu=16000000L

на это:

## Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
## -------------------------------------------------    
pro.upload.maximum_size=30720
pro.upload.maximum_data_size=2048
pro.upload.speed=57600

pro.bootloader.low_fuses=0xFF
pro.bootloader.high_fuses=0xDA
pro.bootloader.extended_fuses=0x05
pro.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

pro.build.mcu=atmega328p
pro.build.f_cpu=16000000L

и удалите все остальные пункты профессионального меню.

,