Vizitator florin_o Postat Octombrie 1, 2007 Partajează Postat Octombrie 1, 2007 Salut , Lucrez la o aplicatie cu 18F2585 si am fost nevoit sa lucrez cu o intrerupere pe high priority.Problema este ca uneori nu imi reface corect continutul registrilor BSR ( cel putin ... ).Nu stiu exact cand si cum dar se manifesta destul de des cand intreruperea este foarte mult utilizata.Pe high am pusa intreruperea de CAN iar pe low ceva timere si EUSART.Din ce am mai citit pe net se pare ca exista o problema asemanatoare la o familie mai veche de 18F...Voi ati intalnit asa ceva ?Multumesc anticipat Link spre comentariu
puiu Postat Octombrie 1, 2007 Partajează Postat Octombrie 1, 2007 1. Nu am lucrat cu PIC18F3585, ci numai cu PIC18F452, PIC18F458, PIC18F6680 si PIC18F8680. Dar cred ca se programeaza la fel.2. Cum ai salvat registri BSR, W si STATUS in cazul prioritati reduse? Dar in cazul prioritatii inalte? Nu cumva aici ai problema? Salvezi in acelasi loc? Ai tinut cont de modul de lucru al prioritatilor?3. Dupa cum vezi sunt o multime de posibilitati de a gresi. Cred ca cel mai bine ai scrie rutinele de intreruperi ca sa ne putem da cu parerea. Daca este in ASM te pot ajuta cu o parere. Link spre comentariu
Vizitator florin_o Postat Octombrie 2, 2007 Partajează Postat Octombrie 2, 2007 Pentru low BSR,STATUS,WREG sunt salvate in stiva software.Pentru high in "fast register stack".Codul este scris in C ,dar am verificat codul generat in asm linie cu linie...Pare sa fie corect.Din aceasta cauza am presupus existenta unui bug Link spre comentariu
puiu Postat Octombrie 2, 2007 Partajează Postat Octombrie 2, 2007 1. Nu inteleg cum salşvezi in stiva soft si nu ai dedicat registri respectivi. Nu cumva ti se suprapune registri salvati din intreruperi cu prioritate peste cele fara prioritate. Eu lucrez in ASN si cu MBLAM pentru simulare si pot sa vad continutul registrilor. Link spre comentariu
Cristiano Postat Octombrie 2, 2007 Partajează Postat Octombrie 2, 2007 Ia citeste in Errata de aici, sectiunea 20: http://ww1.microchip.com/downloads/en/D ... 80202f.pdf si aici: http://ww1.microchip.com/downloads/en/D ... 80283d.pdf Link spre comentariu
Vizitator florin_o Postat Octombrie 2, 2007 Partajează Postat Octombrie 2, 2007 Multam frumos Cristiano.Acum e rezolvata treaba...Din pacate am ratat un termen cu magaria asta... Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum