- Messaggi: 73
- Ringraziamenti ricevuti 0
Interrupt multipli
11 Anni 1 Mese fa #16
da bassfender
Risposta da bassfender al topic Interrupt multipli
e quindi se devo controllare/generare più interrupt come faccio ? Cmq potrei utlizzare la vecchia convenzione ? cioè qua non capisco dove mettere iù il settaggio dei bit di interuupt di portb/usart ecc ecc ... .. confusion ...
Si prega Accedi o Crea un account a partecipare alla conversazione.
- bassfender
- Autore della discussione
- Senior Member
Riduci
Di più
11 Anni 1 Mese fa #17
da StefA
Se poi intendevi i vari controlli sui bit per vedere quale periferica ha generato l'interrupt, anche quello rimane uguale, dentro la funzione dell'interrupt metti gli if per vedere chi l'ha chiamato.
Rimane tutto come prima, e si semplifica la definizione della funzione interrupt.
Prendi l'esempio di pag. 172 del libro di Mauro per vedere dove si scrivono le varie cose e modificalo per l'XC8.
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Interrupt multipli
esattamente come prima, cambia solo l'intestazione della funzione dell'interrupt e non serve più definire i vettori..e quindi se devo controllare/generare più interrupt come faccio ?
No, quella di prima si usa con C18, quella di adesso con XC8, ma non sono intercambiabiliCmq potrei utlizzare la vecchia convenzione ?
Il settaggio dei bit di interrupt...cioè attivare e in quale modo gli interrupt, lo metti dove andava prima, nel main (di solito si mette dopo il settaggio delle porte e prima del codice).qua non capisco dove mettere iù il settaggio dei bit di interuupt di portb/usart ecc ecc
Se poi intendevi i vari controlli sui bit per vedere quale periferica ha generato l'interrupt, anche quello rimane uguale, dentro la funzione dell'interrupt metti gli if per vedere chi l'ha chiamato.
Rimane tutto come prima, e si semplifica la definizione della funzione interrupt.
Prendi l'esempio di pag. 172 del libro di Mauro per vedere dove si scrivono le varie cose e modificalo per l'XC8.
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 6 giorni fa #18
da bassfender
Risposta da bassfender al topic Interrupt multipli
Ciao, tutto bene ? sto rileggendo quello che mi avevi scritto sugli interrupt, ma mettendo
__interrupt(low_priority) void nome_funzione_a(void)
{
// qui scrivi tutto il codice da eseguire quando scatta l'interrupt a bassa priorità
}
tutte le varie verifiche che mi avevi postato le metto tra le parentesi quadre ?
La differenza tra low priority ed high priority sta nel modo di gestire le itnerruzioni ?
__interrupt(low_priority) void nome_funzione_a(void)
{
// qui scrivi tutto il codice da eseguire quando scatta l'interrupt a bassa priorità
}
tutte le varie verifiche che mi avevi postato le metto tra le parentesi quadre ?
La differenza tra low priority ed high priority sta nel modo di gestire le itnerruzioni ?
Si prega Accedi o Crea un account a partecipare alla conversazione.
- bassfender
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 73
- Ringraziamenti ricevuti 0
11 Anni 4 giorni fa #19
da StefA
// qui scrivi tutto il codice da eseguire quando scatta l'interrupt a bassa priorità
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Interrupt multipli
Se per quadre intendi graffe, si vanno li dove c'è scritto:tutte le varie verifiche che mi avevi postato le metto tra le parentesi quadre ?
// qui scrivi tutto il codice da eseguire quando scatta l'interrupt a bassa priorità
High ha priorità maggiore di Low, quindi se sei dentro l'interrupt a bassa priorità e scatta quello ad alta si eseguono le istruzioni di quello ad alta e poi si torna alle istruzioni di quello a bassa, e poi si ritorna al programma che si stava eseguendo prima che scattasse quello a bassa.La differenza tra low priority ed high priority sta nel modo di gestire le itnerruzioni ?
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.