Skocz do zawartości

Jak uśpić ADC w Attiny1626 /Arduino


Pomocna odpowiedź

Napisano (edytowany)

Cześć,

prosiłbym o podpowiedź. Wiem, że pomimo usypiania procka ADC może pozostawać w standby i należałoby go też uśpić. 

Skorzystałem z biblioteki megaTinyCore i użyłem:

a. do uśpienia: 

ADCPowerOptions(LOW_LAT_OFF | PGA_AUTO_OFF | ADC_DISABLE);

b. do wybudzenia: 

ADCPowerOptions(ADC_ENABLE);

i to nie działa.

Po wywołaniu pomiaru po każdej z powyższych komend, przykładowo:

val = analogReadEnh(ADC_VDDDIV10); 
pin = analogReadEnh(sensor); 

w przypadku pkt a otrzymuję właściwy pomiar natomiast w przypadku b. dostaję błędne dane (jeżeli dobrze pamiętam -2100000.00). Spodziewałem się działania odwrotnego.

Jestem bardzo początkujący zatem proszę o wyrozumiałość.

Edytowano przez YoMan
  • 3 tygodnie później...

Są różne tryby uśpienia. Może nie wybrałeś ten odpowiedni. Najlepiej zrobić to z notą katalogową. 

Niedawno zakupilem attiny13 ale musze kupić programator.

Z racji braku odpowiedzi musiałem męczyć inne fora, chatagpt, grzebać w bibliotece ....
dla potomnych: u mnie ta metoda ADCPowerOptions(ADC_ENABLE); z biblioteki megaTinyCore po prostu nie chce działać. Zadziałały podstawy:
ADC0.CTRLA |= ADC_ENABLE_bm;
....
ADC0.CTRLA &= ~ADC_ENABLE_bm;
BTW: ten procek się bardzo ładnie usypia <1µA

  • Lubię! 1
2 godziny temu, etet100 napisał:

Ciekawe. Oglądałem co robi ADCPowerOptions i tam jest w zasadzie dokładnie to samo. 

niby tak .... ale nie jestem w stanie zdiagnozować, gdzie leży problem

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...