Witam wszystkich.
Mam taki mały problem a jego przyczyny mogą być dwie i nie bardzo wiem którą obwiniać
Otóż buduję małe urządzonko którego zadaniem będzie pobierać konfigurację z eepromu jednego urządzenia a następnie "wstrzykiwanie" tejże konfiguracji do innego, takiego samego, tyle że nieskonfigurowanego.
Urządzenie ma być jak najmniejsze i zrobione z dostępnych pod ręką klocków. Po szufladzie mi się szwendają 2 szt attiny (45 i 85) Projekt chce zasilić z beteryjki CR2032. Całość projektu mam już w większości ogarnięte, przyszła pora na energysave.
Jako że korzystam z wbudowanej w uC pamięci eeprom fajnie by było załączyć opcję "brown-out detection" jednakże powoduje ona zwiększony pobór prądu w trybie power down (z wiadomych przyczyn) i to stosunkowo duży bo z wyłączonym BODem to około 1uA a z włączonym aż 25uA
Jednakże studiując notę napotkałem na taki zapis:
Myślę super, jednakże żeby nie było tak różowo w dalszej części napotkałem zapis:
Ok moje procki są w obudowach DIP8 i na spodzie mają oznaczenia :
Niestety informacji w którym to miejscu jest oznaczona rewizja to już próżno szukać w nocie. Szperając po necie znalazłem informację iż rzekomo rewizja jest w prawym dolnym rogu - no to eureka mam rewizję E czyli będzie działać.
Jednakże postępując zgodnie z wytycznymi z biblioteki sleep.h w żaden sposób nie udało mi się wyłączyć programowo BOD-a na czas power down.
Próbowałem tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
oraz tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Próbowałem również ręcznie zmieniać bity BODS i BODSE w rejestrze MCUCR w odpowiedniej (opisanej w nocie) kolejności która to miała zapewnić wyłączenie BOD-a, ale również bez skutku - choć tu może dodatkowym problemem jest szybkość wykonywania operacji napisanych w C bo według noty są tam dosyć restrykcyjne czasy dla poszczególnych kroków.
I teraz pytanie czy problem leży w obsłudze tej funkcjonalności czy też w błędnie rozszyfrowanej rewizji co by mogło oznaczać że poprostu procki które posiadam nie mają zaimplementowanej tej funkcjonalności...
Czy może ktoś się bawił i wie co i jak w temacie?
Pozdrawiam