Vizitator gr3go Postat Ianuarie 14, 2012 Partajează Postat Ianuarie 14, 2012 Am o problema cu intreruperea externa generata de un sensor infra.Am configurat INT0 sa detecteze toate schimbarile de nivele (falling edge+rising edge)In ISR pt INT0 citesc valoarea pinului si memorez impreuna cu un fel de timestamp, care ajung pe un display.E normal ca la doua executii succesive a ISR-ului, valoarea citita de pe pin sa fie acelasi? // any edgeMCUCR = 0;MCUCR |= 1< Link spre comentariu
godFather89 Postat Ianuarie 15, 2012 Partajează Postat Ianuarie 15, 2012 E normal ca la doua executii succesive a ISR-ului, valoarea citita de pe pin sa fie acelasi?Nu stiu daca normal e cel mai bun cuvant. Este posibil ca valoarea citita sa fie aceeasi. Gandeste-te ca din momentul in care se seteaza un flag pentru executia unei intreruperi, pana la executia ei efectiva trece ceva timp. De altfel daca se executa deja o intrerupere, aceasta nu va fi intrerupta de o alta sau aceeasi intrerupere (attiny2313 nu are nivele de prioritati pentru intreruperi).Deci daca semnalul are multe fronturi dese iar intreruperea ta dureaza mult pana se executa, valoarea citita poate fi aceeasi. Link spre comentariu
Vizitator gr3go Postat Ianuarie 15, 2012 Partajează Postat Ianuarie 15, 2012 E normal ca la doua executii succesive a ISR-ului, valoarea citita de pe pin sa fie acelasi?Nu stiu daca normal e cel mai bun cuvant. Este posibil ca valoarea citita sa fie aceeasi. Gandeste-te ca din momentul in care se seteaza un flag pentru executia unei intreruperi, pana la executia ei efectiva trece ceva timp. De altfel daca se executa deja o intrerupere, aceasta nu va fi intrerupta de o alta sau aceeasi intrerupere (attiny2313 nu are nivele de prioritati pentru intreruperi).Deci daca semnalul are multe fronturi dese iar intreruperea ta dureaza mult pana se executa, valoarea citita poate fi aceeasi.Hmmmm, posibil. Desi handlerul de intrerupere nu e complexa (ar trebui sa se execute rapid), nu e exclus ca semnalul sa aiba multe fronturi.Ms pentru raspuns! Link spre comentariu
Vizitator gr3go Postat Ianuarie 17, 2012 Partajează Postat Ianuarie 17, 2012 Am gasit buba.A fost ceva gresit la afisare, intreruperile vin ok.Mersi pentru help godFather89! 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