Sari la conținut
ELFORUM - Forumul electronistilor

Intrebare watchdog


mircang9

Postări Recomandate

am activat watchdogul care reseteaza la 500ms CPU si scriu codul asa:

 

unsigned int contor;contor=0;while(pinintrare==1){     contor++; // 2us dureaza o incrementare. Fcy = 12MHz. Fosc = 48 MHz.}CLRWDT();
La un moment dat pinintrare nu mai trece in zero si ramane "la infinit" in 1 logic.

Variabila contor se incrementeaza pana la maxim adica 65535 si: ..... ????

pana vine reset CPU la watchdog ce se intampla cu variabila contor ?

unde ramane ? cu ce valoare ramane ? ... cu 65535 care se suprascrie ?

sau se intampla ceva de genul: sa zicem ca am un registru de 3 biti ( nu de 16 )

si numara asa: 000, 001, 010, 011, 100, 101, 110, 111 -->> 1000 ( aici

se reseteaza cu transport unu in stanga ). Inseamna ca atunci cand ajunge

la 65535 si mai se incrementeaza odata se reseteaza, nu ? Unde baga

bitul 1 de transport stanga ? Inseamna ca pana apare reset de watchdog

contor ajunge la 65535 si se reseteaza adica o ia de la zero si asa mai departe

pana apare reset de la watchdog, nu ?

 

:jytuiyu

 

Editat de Madalina: modificare nume subiect

Rog moderatorul de aici sa modifice numele daca gaseste unul mai potrivit.

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

Top autori în acest subiect

  • mircang9

    2

  • Liviu M

    1

Zile populare

Top autori în acest subiect

Da, cred ca o ia de la 0 (si probabil seteaza bitul Carry din status).

Daca vrei sa tii contorul intr-o anumita stare, poti sa-l incrementezi numai cand e mai mic decat valoarea tinta:

 

unsigned int contor;contor=0;while(pinintrare==1){    if(contor < 65530)        contor++; // 2us dureaza o incrementare. Fcy = 12MHz. Fosc = 48 MHz.}CLRWDT();

O sa dureze ceva mai mult, da' n-ar trebui sa fie mult.

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