Sari la conținut
ELFORUM - Forumul electronistilor

Probleme RTSP-Run Time Self Programming


Romica_t

Postări Recomandate

Va salut, am un PIC24HJ128GP504 si vreau ca din cand in cand (la apasarea unui buton) sa salvez in memoria program un numar astfel incat numarul sa nu dispara la intreruperea alimentarii. Picul nu are EEPROM.Am luat de pe pagina Pic-ului de la Code Examples, CE209 - Run-Time Self Programming of FLASH Program Memory si functioneaza intr-o anumita masura, numarul il pot incrementa la apasarea butonului, el ramane acolo si la repornire dar nu mai pot face mai nimic.Apar tot felul de anomalii, cea mai frecventa este ca tot ansamblul Pic+lcd isi da reset intruna, desi am o bucla while infinita (cea de monitorizare a butonului). De asemenea nu pot lucra cu unele variabile, nu pot adauga o instructiune "for", spre exemplu:for(i=0;i<2;i++) FillRectangle(200,10,220,30,GREEN);nu functioneaza, picul isi da restart, afiseaza rapid numarul pe ecran, incrementat de fiecare data si o ia de la capat. In schimb daca elimin for-ul si las doar FillRectangle functioneaza pentru doua apeluri dar daca mai adaug al treilea apel, intra in acea restartare continua, ca si cand apare un conflict intre instructiuni.Stiu ca este o problema mai delicata deoarece opereaza in memoria program si sunt sanse mari sa faca prostii dar nu ma pricep prea bine la acest nivel si as aprecia ajutorul vostru.Va multumesc.

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

Top autori în acest subiect

  • Romica_t

    2

  • sofian

    1

Zile populare

Top autori în acest subiect

cred ca problema este de la watchdog timer care este enable

In fisierul main.c apare aceasta setare_FWDT(FWDTEN_OFF); // Watchdog Timer Enabled/disabled by user softwaredeci este disabled.Totusi la coada fiserului apare aceasta functie pentru interupt:void __attribute__((interrupt, no_auto_psv)) _DefaultInterrupt(void){ while(1) ClrWdt()}Din partea cui vine poate veni acel interupt? De oriunde?
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