wwwglro Postat Septembrie 6, 2009 Partajează Postat Septembrie 6, 2009 Cum as putea activa intreruperile dupa un anumit timp? De ex: #int_rtcc void isr() { instructiuni facute cand se apeleaza intreruperea } void main() { instructiune; do { instructiune; activare intrerupere; } while(1) } Merci Link spre comentariu
Mikrosha Postat Septembrie 10, 2009 Partajează Postat Septembrie 10, 2009 Pai mai intai bagi un delay suficient de mare, care poate fi un FOR cu un contor suficient de mare, timp in care sa nu faca nimic. Setarea bitului 7 al registrului INTCON activeaza intreruperile. intcon.7=1;Am impresia ca codul scris de tine este in PICC. Asta are niste comenzi care-ti usureaza munca:delay_ms(x); //Asteapta x milisecundedelay_us(x); //Asteapta x microsecundeenable_interrupts(GLOBAL); //Activeaza intreruperiledisable_interrupts(GLOBAL); //Dezactiveaza intreruperile. Link spre comentariu
Liviu M Postat Septembrie 11, 2009 Partajează Postat Septembrie 11, 2009 la picc sunt ei(); si di(); Two macros are available in which control the masking of all available interrupts. Thesemacros are ei(), which enable or unmask all interrupts, and di(), which disable or mask all interrupts. Link spre comentariu
ratza Postat Septembrie 11, 2009 Partajează Postat Septembrie 11, 2009 Dac? vrei s? execu?i rutina care trateaz? întreruperea cu un anumit delay, acesta trebuie introdus în rutina de tratare a întreruperii. Orice delay pus în afara ei nu va avea efect, exceptînd cazul în care rutina de delay este realizat? cu întreuperi de prioritate mai mare decît cea de care ai nevoie. 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