Ааааа.... Как его остановить? Как остановить запущенный скетч?
- Войдите на сайт для отправки комментариев
Пнд, 25/01/2016 - 18:48
Вот скомпилировал я программу, загрузил. Программа работает, серваки двигаются. Но как ее остановить? Если подаю питание, то оно снова начинает работать. Неужели нужно загружать на него пустой скетч, чтоб он остановился? Почему нигде нет кнопки "стоп"?
Или как обновить уже загруженную программу. Например, вот запустил я прогу, потом подкорректировал пару строк и хочу снова ее загрузить. У меня он выдает ошибку:
avrdude: ser_open(): can't open device "\\.\COM9": Отказано в доступе.
Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload .
Что я делаю не так? Как надо правильно?
Почему нигде нет кнопки "стоп"?
заметь, кнопка "старт" и педаль сцепления, тоже отсутсвуют.
ты не прошёл фейс-контроль.
RST - на землю и оно остановится
В цикле loop от кнопки переходить в delay() с ожиданием следующего нажатия на кнопку ;)
Естессно остановив при необходимости движки....
переходить в delay() с ожиданием следующего нажатия на кнопку ;)
это как? можно код позырить
это как? можно код позырить
do{ buff=KBDread(); if (buff){tm1637.display(1,buff);} delay(200); switch(buff){ case 1://чтение ключей по командам, кнопка 12 выход KeySave=1; buff1=1; do { if(ds.reset()) // если обнаружено устройттво { ds.write(0x33); // отправляем команду "считать ROM" delay(10); // на всякий случай ждем for(int i=0;i<8;i++) { buffTM[i] = ds.read(); // считываем ключ } } buffZ=ScanTM(); if(buffZ>5){tm1637.display(2,12);tm1637.display(3,buffZ-5);}//пользовательский ключ, выводим С* if(buffZ>0&&buffZ<6){tm1637.display(2,10);tm1637.display(3,buffZ);}//админский ключ, выводим А* if(!buffZ){tm1637.display(2,0);tm1637.display(3,0);}//админский ключ, выводим А* delay(1000); if(KBDread()==12){buff1=0;} Serial.print(" Key = ");//для отладки Serial.println(buff1);//для отладки }while(buff1); KeySave=0; break; } }while(ds.reset()||KeySave); byte KBDread()//опрос клавиатуры { byte KBread=0; for (byte KBx=0;KBx<3;KBx++)//цикл по столбцам { for (byte KBy=0;KBy<4;KBy++)//цикл по строкам { digitalWrite(pinKBy1+KBy, LOW);// 0 на столбец if (!digitalRead(pinKBx1+KBx))//читаем строку { KBread=KBy*3+KBx+1;//если 0 определяем кнопку } digitalWrite(pinKBy1+KBy, HIGH);//1 на столбец } } return KBread;//возвращаем 0 или номер кнопки 1-12 }Вообще это просто кусочек проекта, вывод идет на 4-секционный 7-сегментный LED, ввод - считка ТМ-ключей и клавиатурная матрица 3*4.
R0MaNbI4, все лишнее отключи от платы перед заливкой.