Sari la conținut
ELFORUM - Forumul electronistilor

Lucru cu Timere de 16 biti


spinach

Postări Recomandate

salutam,Incercind sa setez un timer de 16 biti , m-am impotmolit . Am consultat si un calculator "AvrCalc" ; Nu am gasit inca logica de setare pentru OCR1AL si OCR1AH . Se poate in 2 variante , astfel:-fie punem o valoare in fiecare registru si cele 2 registre inmultite vor da un rezultat , care de fapt este valoarea ce vrem sa o implementam -fie numarul dorit il transformam in binar si de la dreapta la stinga , primi 8 biti sint pentru registru L , urmatorii 8 biti sint pentru registru H-fie altfel , cum inca nu stiu .Cum sa fac ?

Link spre comentariu
  • Răspunsuri 5
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • spinach

    3

  • nico_2010

    3

Top autori în acest subiect

Salut!

regula este ca intai sa scrii OCR1H, apoi OCR1L, cum de altfel este mentionat si in foaile de catalog ale uC tip ATMEL:

 

"To do a 16-bit write, the High byte must be written before the Low byte. For a 16-bit read, the

Low byte must be read before the High byte."

 

Pentru a te lamuri mai bine citeste, spre exemplu pag.79 din foaia de catalog a ATNEGA 8

Link spre comentariu

Ok. Este o informatie foarte buna , pe care nu o cunosteam . Problema pe care o am este insa alta . Sa zicem ca vreau sa scriu in OCR valoarea 32312 . Cum ca calculez si ce scriu in H si L . Adica dupa ce logica trebuie sa departajez valoarile scrise in H si L

Link spre comentariu

Valoarea stabilita de tine o transformi in din zecimal in hexazecimal si astfel vei avea doi octeti.

Pe primul (cel mai din stanga) il folosesti pentru a inscrie OCR1H, iar pe celalalt il folosesti pentru a inscrie OCR1L.

Exemplu pentru valoarea data de tine:

- zecimal: 32312

- hexazecimal: 7E 38

In acest caz OCR1H = 7E iar OCR1L = 38

Link spre comentariu

Da, am inteles pe moment. MUltumesc . Am fac ceva exercitiiDaca tot este subiectl deschis , pun intrebarea privind formula fOCnA=fclk_I/O / (2 ⋅ N ⋅ (1 + OCRnA))Formula am gasit-o pentru CTC mod . Aici , se adauga un ciclu la valoarea stabilita pentru OCR .La Ph Cr PWM nu se mai adauga acest ciclu . Presupunind ca sintem in normal mod , pe calea B , si resetam contori in intrerupere , la calcul mai adaugam 1 ciclu ?

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări