Arduino Uno 3: Застрял на "загрузке..." скетчей
Я играл с моей платой Arduino Uno R3 с Sublime Text 2 и "Stino" в качестве IDE
Я не уверен, что проблема в моем коде или я что-то сломал...
Я нажал загрузить, пока другой скетч не закончил загрузку, даже оригинальная Arduino IDE больше не может загружать новые скетчи!
Это мой код:
// singleServo.ino
#include <Servo.h>
Servo servo;
const int button = 2;
const int led = 13;
const int buzzerPin = 10;
const int duration = 180;
int stateLED = LOW;
int previous = LOW;
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int stateButton;
stateButton = digitalRead(button);
if (stateButton == LOW && previous == LOW) {
if (stateLED == HIGH)
{
stateLED = LOW;
initAction(duration);
}
else
{
stateLED = HIGH;
}
}
digitalWrite(led, stateLED);
previous = stateButton;
servo.detach();
}
void initAction(int time_iA){
tone(buzzerPin, 523, 200);
delay(200);
shiftServo(180, time_iA);
tone(buzzerPin, 262, 200);
}
void shiftServo(int angle, int time_sS) {
servo.attach(9);
delay(500);
int position;
for(position=0; position <= angle; position += 1)
{
servo.write(position);
delay(time_sS / 180);
Serial.println(servo.read());
}
// for(position=angle; position >= 0; position -= 1)
// {
// servo.write(position);
// delay(time_sS / 90);
// }
}
Я новичок со всеми вещами Arduino - Пожалуйста, помогите!
Редактировать:
После перезагрузки системы (Ubuntu Linux 14.04) все снова работало нормально!
Но я собираюсь убрать и последовательные функции.
@robertgzr, 👍4
Обсуждение4 ответа
Лучший ответ:
Вы должны дождаться, пока первая и все остальные загрузки завершатся неудачно.
Если вы не уверены, то перезагрузка - самое надежное решение.
Также обратите внимание, что если ваш скетч отправляет много данных по последовательному каналу, может потребоваться ручной сброс платы.
Перезагрузка помогла. Но что именно я сделал не так? Был ли это Сериал или потому, что я остановил эту загрузку? Должен ли я прекратить использовать Sublime + Stino IDE?, @robertgzr
проблема обычно заключается в том, что загрузка внешнего скрипта должным образом не остановлена, а его тайм-аут очень высок. Обычно убийство процесса может оставить последовательный порт "занятым" (отключите и снова подключите USB, чтобы решить эту проблему), но в arduino ide нет "выключателя", и вам нужно подождать (обратите внимание, что внешняя команда t hat не зависит от ide). Похоже, Стино делает то же самое. О IDE, используйте все, что хотите, но прежде чем публиковать здесь, проверьте, имеет ли arduino ide такой же poblem!, @Lesto
Я проверил только это. Я не смог загрузить ни одного скетча с обеих ide, @robertgzr
да, этот случай является "условием гонки" по последовательному порту; поскольку последовательный порт может использоваться только одной программой одновременно, до тех пор, пока все предыдущие загрузки не завершатся неудачно (много времени ожидания, около 20-30 секунд для КАЖДОЙ загрузки в очереди), вы не сможете загрузить. Также обратите внимание, что удаление Serial из sketch не помогает в этом случае, так как это проблема ПК. Серийный в скетче проблематичен только тогда, когда пишется слишком много, но ручной сброс платы сделать проще, когда вы узнаете время rght :), @Lesto
Я читал об этом ручном сбросе где-то еще, но я не мог получить его в нужное время^^ в любом случае спасибо за объяснение, @robertgzr
В этом случае, поскольку загрузка никогда не начиналась с ПК, это не сработало бы. Кстати, просто держите нажатой кнопку reset, прикрепите usb, из arduino выберите serial и luck upload, когда появится "двоичный размер blabla", отпустите кнопку reset. Пробуйте снова и снова xD, @Lesto
У меня такая же проблема с Ubuntu. В конце концов, я застрял при каждой загрузке, даже после отключения+повторного подключения устройства.
Убив весь процесс avrdude, устраните проблему.
sudo killall avrdude
или с новыми ИДАМИ:
sudo killall avrdude_bin
Это случилось со мной на UNO R3. Я решил эту проблему, отключив Bluetooth на своем ноутбуке. Это вызвало конфликт на COM5.
Я исключил плату, кабель и IDE. Наконец-то заметил в диспетчере устройств, что в COM5 есть записи (одна из них-Arduino, а другая-Bluetooth).
Надеюсь, это поможет кому-то еще, у кого может возникнуть эта проблема в будущем.
У меня была такая же проблема с arduino uno r3 на win10. Решение было простым:
- откройте диспетчер задач (Ctrl + Shift + Esc).
- остановите все открытые COM-процессы , и загрузка arduino снова заработает.
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Предупреждение при проверке скетча с кодом VS
- Доступ запрещен при загрузке
- Какие есть другие IDE для Arduino?
- Список препроцессоров платы Arduino #defines
- Не могу загрузить скетч в Arduino Nano
- Как просто закрыть вкладку в Arduino IDE?
- Проблема: "stray '#' in program"
Вы пробовали отключить *все*, включая хост-компьютер, а затем загрузить его с помощью Arduino IDE? Какую ОС вы используете?, @gbulmer
Проверьте диспетчер задач или top или что-то еще на наличие осиротевших процессов avrdude, @BrettAM
Я знаю, что это действительно просто, и не обижайтесь, но вы нажали кнопку buiild и проверили, что она строится перед загрузкой? - Также, пожалуйста, дважды проверьте, что arduino подключен к USB-порту, назначенному в buildtool., @Magic-Mouse