Программирую датчик движения на основе модуля MPU6050. Бывает, что плата не стартует при подаче питания. Народ говорит это лечится програмным сбросом. Начал рыть этот вопрос и вот что нарыл...
Вариант 1
code:void(* resetFunc) (void) = 0; // Reset MC function
resetFunc(); //вызов
Вариант 2
code:asm volatile ("jmp 0x0000");
Вариант 3 - активизация wdt (самый опасный, т.к. может привести к фатальным последствиям)
Цитата: В шапку вставляем #include <avr/wdt.h>
в setup - wdt_enable(WDTO_8S);
в loop соответственно - wdt_reset(); |