Помогите с вечным прерыванием

Famous

✩✩✩✩✩✩✩
30 Мар 2021
2
0
Здравствуйте, товарищи.

Я экспериментировал с уроками прерываний и так получилось, что в коде указал прерывание на D0 и D1 для Arduino Leonardo, что соответствует прерываниям INT 2 и INT 3.

1635138283167.png

После чего заливать прошивку стало невозможным. Я подумал, что дело в самой плате т.к. она внезапно перестала отвечать и распознаваться - тут же залил этот код в такую же новенькую плату и получил аналогичный результат. Плата запускается, диоды светятся, но она не реагирует на кнопку сброса, не распознается по COM порту.

Раздобыв программатор мне удалось залить blink прошивку в одну из плат и она стала работоспособной. Но вторая плата даже через программатор не видится. Подскажите, пожалуйста, какой еще метод восстановления можно попробовать? И для чего тогда нужны такие прерывания, которые полностью "вешают" плату при наличии Rx\Tx связи?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,267
1,303
Москва
пробуйте так: берете авр дуду и заливаете через нее пустую прошивку. Но не просто так. Надо ухитриться и вовремя нажать ресет, еще до старта основной прошивки
Было не совсем такое, но похожее: очень рано захватывал D0 и D1 для Serial-а и не мог прошиться, а эти платы не перегружается при подключении по USB, или очень быстро стартует основную прошивку. И далее , если надо использовать Serial или прерывания ставьте в самом начале setup delay(2000) например.
 
  • Лойс +1
Реакции: kostyamat и Famous

Signalsus

✩✩✩✩✩✩✩
5 Дек 2021
10
0
ну я думаю, что через фьюзы можно перерубить эту дичь, хотя не уверен