Как остановить Ардуино.

Александр Челюскин.
Offline
Зарегистрирован: 10.02.2020

Всем бобра)) Я новичок в Ардуино, приобрёл недавно несколько плат и решил пленять своим искусством свет))

Помигав диодами решил сделать что-то "посерьёзнее". Страшно понравилось гонять туда-сюда символы через монитор порта)) В голову пришло сделать набиратель пароля на компе. Мысль такова: при подключении Ардуино на порт USB она определяется как клавиатура и автоматом набирает пароль и "нажимает" ENTER. 

Был написан скетч:

**************************

#include "Keyboard.h"

void setup()

{
Keyboard.begin();
}
 
void loop()
{
delay(500);
Keyboard.println("QWERTY");
}
*************************
Плата (Ардуино Leonardo, кстати) приняла прошивку и тут случилось НО! После подключения она с периодичностью 0,5сек начинает бомбить в эфир пароль QWERTY и нажимать ENTER. Всё как положено, но как эту плату потом перепрограммировать? Как только её подключишь, она в скетче везде вставляет QWERTY))))
Сделал так:
1. В конце скетча ставим знаки комментария /*  */ 
всё написанное там не имеет отношение к программе и не компилируется.
2. Пишем нужный скетч или просто скетч очистки, например такой:
   void setup() {}
   void loop () {}
   Разумеется, после написания проверяем его, чтобы он был без ошибок.
3. После этого ставим курсор между знаками комментария из п.1 /* курсор */
4. После этого подключаем плату. Она в автомате начинает работать, но на скетч это не имеет никакого влияния, ибо все её посылки оказываются закомментированы. 
5. Спокойно запускаем загрузку и радуемся)).
Пишу это, дабы вы оценили мой фатальный размах и тупизм(( Может кому новичкам пригодится. Такое возможно только на платах Ардуино с эмулятором USB. На нано такое не получится.
negavoid
Offline
Зарегистрирован: 09.07.2016

Фантастика, в соседней теме тоже просят остановку :)

while(1) { }  // остановим ардуину до сброса питания

 

b707
Offline
Зарегистрирован: 26.05.2017

Александр Челюскин. пишет:

Пишу это, дабы вы оценили мой фатальный размах и тупизм(( Может кому новичкам пригодится. Такое возможно только на платах Ардуино с эмулятором USB. На нано такое не получится.

оценил. Остроумное решение.

 

b707
Offline
Зарегистрирован: 26.05.2017

negavoid пишет:

Фантастика, в соседней теме тоже просят остановку :)

 

не, насколько я понял, тут ТС ничего не просит - а сам делится

Александр Челюскин.
Offline
Зарегистрирован: 10.02.2020

Именно, сам делюсь))

negavoid
Offline
Зарегистрирован: 09.07.2016

Молодец, конечно, поборол инпут )) Но можно просто вставить строчку останова в конец loop, после println.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Да, уж, вот и выросло поколение, не слышавшее о такой вещи, как "Массачусетская машина". Как же быстро мы стареем :-(

А вообще, у Вас тут весело :-)

(про Массачусетскую машину)

Полсотни лет назад в Массачусетсе запустили самое сложное кибернетическое устройство, когда-либо существовавшее. С каким-то там феноменальным быстродействием, необозримой памятью и все такое... И проработала эта машина ровно четыре минуты. Ее выключили, зацементировали все входы и выходы, отвели от нее энергию, заминировали и обнесли колючей проволокой. Самой настоящей ржавой колючей проволокой - хотите верьте, хотите нет.

  • — А в чем, собственно, дело? - спросил Банин.
  • — Она начала вести себя, - сказал Горбовский.
  • — Не понимаю.
  • — И я не понимаю, но её едва успели выключить.
  • — А кто-нибудь понимает?
  • — Я говорил с одним из ее создателей. Он взял меня за плечо, посмотрел мне в глаза и произнес только: «Леонид, это было страшно».
negavoid
Offline
Зарегистрирован: 09.07.2016

Никогда не любил Стругацких.