Код Arduino работает через IDE, а не через код Arduino PlatformIO
У меня есть рабочий код Arduino. Код работает, как и предполагалось, когда я загружаю его в Arduino Nano, используя старый загрузчик через Arduino IDE. Однако, когда я загружаю тот же код через PlatformIO, код загружается успешно, но не работает должным образом. В процессе загрузки нет ошибок или предупреждений, и я не могу понять, что может быть причиной проблемы.
Теперь для устранения неполадок я использую простой пример мерцания.
#include <Arduino.h>
// функция настройки запускается один раз, когда вы нажимаете сброс или питание платы
void setup() {
// инициализируем цифровой вывод LED_BUILTIN как выход.
pinMode(LED_BUILTIN, OUTPUT);
}
// функция цикла запускается снова и снова навсегда
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // включаем светодиод (HIGH - уровень напряжения)
delay(1000); // ждем секунду
digitalWrite(LED_BUILTIN, LOW); // выключаем светодиод, понижая напряжение
delay(1000); // ждем секунду
}
1-я конфигурация PlatformIO .ini
[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino
debug_port = COM3
monitor_speed = 115200
Я также пытался подписаться, но безуспешно.
2-я конфигурация PlatformIO .ini
[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino
board_oldbootloader = true
debug_port = COM3
monitor_speed = 115200
Есть предложения по устранению этой проблемы или ее причина? Спасибо.
@DeXter, 👍2
Обсуждение1 ответ
Некоторое время у меня было похожее поведение, и ничего, что я бы изменил в файле конфигурации PlatformIO .ini, похоже, не помогло. Я попытался перезапустить и очистить проект, но это тоже не помогло.
В конце концов мне помогло начать новый новый проект PlatformIO и перенести файлы.
Я подозреваю, что при определенных условиях (которые могут быть связаны с настройками проекта) PlatformIO не может загрузить скрипт, хотя утверждает, что загрузка прошла успешно.
- Не могу загрузить скетч в Arduino Nano
- avrdude ser_open() can't set com-state
- Какие есть другие IDE для Arduino?
- Как просто закрыть вкладку в Arduino IDE?
- Могу ли я использовать Visual Studio вместо Arduino IDE?
- Arduino Uno: avrdude: stk500_recv(): программатор не отвечает
- Проблема с Arduino Nano 33 IOT
- Можно ли обновить загрузчик Arduino (Nano) через себя и Arduino IDE или требуется ISP?
Функция мерцания программируется IDE. В случае, если я программирую с помощью Arduino IDE, код загружается на плату и работает как положено (т.е. светодиод мигает). В случае, если я программирую с помощью PlatformIO, код загружается на плату, но не работает должным образом (т.е. (светодиод не мигает)., @DeXter
Это очень странно. Я пробовал разные решения, но ничего не работает., @DeXter
включить светодиод в настройках... оставить
loop()
пустым... что произойдет?, @jsotolaнапечатайте значение LED_BUILTIN на последовательном мониторе, чтобы увидеть его значение ... также попробуйте обратиться к выводу светодиода по номеру, @jsotola
Мои извинения. Не знаком, 1-й вопрос., @DeXter
Ок, случилось странное. :D 1) Я сделал, как ты сказал. Я оставил петлю пустой и включил светодиод в настройках. Результат: светодиод не горит. 2) Я раскомментировал цикл и снова загрузил. Светодиод начал мигать. 3) Проблема решилась сама собой. Любая идея, что пошло правильно., @DeXter
вы никогда не загружали скетч с первого раза, @jsotola