PIC16F15323 / ADC / sleep

Jan Waclawek konfera na efton.sk
Pondělí Srpen 12 10:53:44 CEST 2019


[preposielam]


Ahoj,

tak najprv k K42. Zacnite tym, ze si nastavite ADC v zakladnom rezime
aby fungoval tak ako v 16f874, teda po GODONE =1, urobi jednu vzorku a
tu musite programom preniest do vasej premennej, teda na pamatove
miesto. Prenos mozete realizovat v interrupte ADIF a indikujte si ho
dalsou LED2 na samostatnom pine. Potom si nastavte timer 2 na
250usec. a skontrolujte interrupt osciloskopom a LED1, ktoru tam uz
mate. V obsluhe interuptu tim2 si pustite prevod GODONE =1. Po
ukonceni prevodu by vam mali blikat LED1 aj LED2. Pokial toto nebude
fungovat tak dalej by som nesiel...

V dalsom kroku by som spustanie prevodu prevodnika robil automaticky
cez funkciu auto-triger. Interrupty si nechajte zapnute a jediny kod
ktory budu robit je blikanie ledkami. Aby ste videl, ze Vam ide aj ten
auto triger.

A ako posledne si na ten prevodnik  ADC zaveste DMA kanal, ktory Vam
automaticky prenesie vysledok do premennej.

A potom si nastavte tu Vasu 1 sekundu a timer 6.


Co sa tyka tych sleep funkcii, treba si uvedomit jednu zakladnu vec,
ze v sleep-mode nefunguju periferie, ktore su napojene na interny takt
fosc/4, resp. ho potrebuju. Tento sa totiz vypina v sleepe, nejde
hlavny oscilator.

Potom je sleep-idle, kedy idu periferie, ale cpu a pamat su vypnute.

Doze-mode - idu periferie, ale cpu a pamat idu "spomalene".

Treba si precitat, ktory takt ta ktora periferia pouziva. Mali by byt
pri kazdej periferii samostatne poznamky a podla toho si zvolit
nastavenie a mod.

p.s.: pozor na tim1 ma samostatny low-power oscilator.

A.


Další informace o konferenci Hw-list