Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 25 kwi 2024, o 18:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 21 gru 2017, o 18:49 
Offline
Użytkownik

Dołączył(a): 27 lip 2012
Posty: 59
Pomógł: 0

Witam serdecznie,

Tworzę prosty układ, którego zadaniem jest jedynie płynne włączanie i wygaszanie diody LED za pomocą PWM. Z noty wyczytałem, iż pobór prądu w trybie power-down będzie wynosił maksymalnie 10uA (przy włączonym watch-dogu), natomiast w trakcie wyświetlania sekwencji układ pobiera średnio 2,7mA. Zgodnie z moimi obliczeniami, przy zasilaniu baterią CR2032 i wyświetlaniu animacji co 10min, układ powinien pozwolić na pracę przez około 300 dni.

Mam jednak problem z programem. Moja "Tinka10" najprawdopodobniej w ogóle nie wchodzi w tryb power-down. Pobór prądu to min. 1mA. Timer wyłącza się, co wnioskuję po całkowicie gasnącej diodzie LED. Siedzę w nocie od kilku godzin i już nie mam pomysłu... Może wam się rzuci coś w oczy :)

PS. Zmienna n_Twd docelowo ma odpowiadać mnożnik czasu, po którym następuje wybudzenie watch-doga. Reszta myślę, że zrozumiała.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2017, o 19:25 
Offline
Użytkownik

Dołączył(a): 04 wrz 2015
Posty: 88
Lokalizacja: Kraków
Pomógł: 1

A kompilator się nie buntuje na te przecinki w definicjach?
Ja wolę takie bardziej skomplikowane rzeczy funkcjami załatwiać. Definicje są ryzykowne, bo wchodzą 1:1.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2017, o 19:30 
Offline
Użytkownik

Dołączył(a): 27 lip 2012
Posty: 59
Pomógł: 0

Kompilatorowi to w ogóle nie przeszkadza. W sumie zawsze tworzyłem takie bardziej rozbudowane definicje i nigdy z nimi problemów nie miałem.

Mogę dodać, iż wcześniej miałem ręcznie wpisany kod z definicji do programu i też nie działało przejście w tryb power-down :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2017, o 20:13 
Offline
Użytkownik

Dołączył(a): 04 wrz 2015
Posty: 88
Lokalizacja: Kraków
Pomógł: 1

Chyba mało wiem, w nogach śpię.
Byłem przekonany, że muszą być średniki, a tu proszę - mój kompilator też przepuścił. Inna sprawa czy to działa, ale tego nie mam czasu teraz sprawdzić.

------------------------ [ Dodano po: 5 minutach ]

Hehehe, jest operator przecinek - nie wiedziałem. Przepraszam.

------------------------ [ Dodano po: 32 minutach ]

A zrób taki najprostszy program testowy: mrugaj diodą w przerwaniu, a w głównej pętli, po opóźnieniu uśpij procesor - dowiesz się wtedy czy zasypia.

Ponadto pamiętaj, że przez nieustawione piny też mogą płynąć prądy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2017, o 20:59 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Brakuje samej instrukcji, która powoduje wejście w tryb obniżonego poboru mocy np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

lub tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2017, o 21:05 
Offline
Użytkownik

Dołączył(a): 04 wrz 2015
Posty: 88
Lokalizacja: Kraków
Pomógł: 1

Krauser napisał(a):
Brakuje samej instrukcji, która powoduje wejście w tryb obniżonego poboru mocy np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

lub tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Cytuj:
Bit 0 – SE: Sleep Enable The SE bit must be written to logic one to make the MCU enter the sleep mode when the SLEEP instruction is executed. To avoid the MCU entering the sleep mode unless it is the programmer’s purpose, it is recommended to write the Sleep Enable (SE) bit to one just before the execution of the SLEEP instruction and to clear it immediately after waking up.

Podstawa prawna;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO