Witam
Procesor ATmega328P, kondesnatory 2 x 680 uF (równolegle), dioda schottkiego BAT15-03W
Borykam się z następującym problemem. W czasie zaniku zasilania pragnę na moment podtrzymać działanie mikrokontrolera tak aby mógł zapisać pewne informacje do EEPROM. Do detekcji zaniku zasilania wykorzystuje przerwanie INT0 (wyzwalane poziomem niskim ponieważ mikrokontroler śpi przez większość czasu)
Niestety przerwanie nie jest wywoływane przy zaniku zasilania natomiast jeżeli przytknę kabelek do połączony z pinem INT0 do masy to przerwanie się wywołuje.
Oto kod:
To jest tylko testowy program, rozwiązanie posłuży mi do zaimplementowanie w sensownej aplikacji. Po wyświetlenie tekstu na wyświetlaczu OLED procesor idzie spać a watchdog wybudza go co 1 s. Przerwanie INT0 również może wybudzić procesor także nie powinno mieć znaczenia czy procek w chwili zaniku zasilania śpi czy też nie.
Rysunek ilustrujący podłączenie:

Procesor ATmega328P, kondesnatory 2 x 680 uF (równolegle), dioda schottkiego BAT15-03W
Borykam się z następującym problemem. W czasie zaniku zasilania pragnę na moment podtrzymać działanie mikrokontrolera tak aby mógł zapisać pewne informacje do EEPROM. Do detekcji zaniku zasilania wykorzystuje przerwanie INT0 (wyzwalane poziomem niskim ponieważ mikrokontroler śpi przez większość czasu)
Niestety przerwanie nie jest wywoływane przy zaniku zasilania natomiast jeżeli przytknę kabelek do połączony z pinem INT0 do masy to przerwanie się wywołuje.
Oto kod:
Kod: C / C++
To jest tylko testowy program, rozwiązanie posłuży mi do zaimplementowanie w sensownej aplikacji. Po wyświetlenie tekstu na wyświetlaczu OLED procesor idzie spać a watchdog wybudza go co 1 s. Przerwanie INT0 również może wybudzić procesor także nie powinno mieć znaczenia czy procek w chwili zaniku zasilania śpi czy też nie.
Rysunek ilustrujący podłączenie:
