- Messaggi: 46
- Ringraziamenti ricevuti 1
I/O expander
12 Anni 10 Mesi fa #31
da crosby
Risposta da crosby al topic Re: I/O expander
Ciao
Promesso mantenuta! Anche se con un po’ di ritardo (l’ultimo topic risale a 1mese e 2 settimane) ho terminato il progettino che mi ero messo in testa: mandare in sleep il 4550 e svegliarlo con l'interrupt dal RTCC.
Funziona bene. Per gestire l’RTCC ho usato le funzioni della libreria PCF8563 la is_alarm_ON_RTCC non c’è ma era stata usata quando avevo fatto le prove in polling. Su questa funzione secondo me sarebbe meglio dividerla in due: una che controlla se l’allarme è stato attivato e una che resetta (posso avere la necessita di controllare se l’allarme è stato attivato ma non necessariamente voglio resettarlo). Ma è solo una mia idea comunque.
Un saluto
Fabio milano
Promesso mantenuta! Anche se con un po’ di ritardo (l’ultimo topic risale a 1mese e 2 settimane) ho terminato il progettino che mi ero messo in testa: mandare in sleep il 4550 e svegliarlo con l'interrupt dal RTCC.
Funziona bene. Per gestire l’RTCC ho usato le funzioni della libreria PCF8563 la is_alarm_ON_RTCC non c’è ma era stata usata quando avevo fatto le prove in polling. Su questa funzione secondo me sarebbe meglio dividerla in due: una che controlla se l’allarme è stato attivato e una che resetta (posso avere la necessita di controllare se l’allarme è stato attivato ma non necessariamente voglio resettarlo). Ma è solo una mia idea comunque.
Un saluto
Fabio milano
Si prega Accedi o Crea un account a partecipare alla conversazione.
- crosby
- Autore della discussione
- Senior Member
Riduci
Di più
12 Anni 9 Mesi fa #32
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: I/O expander
Ciao Fabio,
grazie di aver condiviso l'esempio.
Credo sia breve e chiaro. Devo prenderlo come esempio per applicazioni future.
...e sopratutto per coloro che volessero utilizzare gli interrupt.
Per il tuo consiglio devo dire che la ragione per cui la cancello e' solo legata al fatto che se ti scordi di farlo non hai piu' interrupt.
Inoltre molti interrupt nei microcontrollori si "auto puliscono" una volta effettuata la lettura.
Pero' a seconda dell'applicazione potrebbe tornare utile sia un reset del bit automatico che non.
Saluti,
Mauro
grazie di aver condiviso l'esempio.
Credo sia breve e chiaro. Devo prenderlo come esempio per applicazioni future.
...e sopratutto per coloro che volessero utilizzare gli interrupt.
Per il tuo consiglio devo dire che la ragione per cui la cancello e' solo legata al fatto che se ti scordi di farlo non hai piu' interrupt.
Inoltre molti interrupt nei microcontrollori si "auto puliscono" una volta effettuata la lettura.
Pero' a seconda dell'applicazione potrebbe tornare utile sia un reset del bit automatico che non.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 9 Mesi fa #33
da crosby
Risposta da crosby al topic Re: I/O expander
Ciao
bene, sono contento di aver dato un piccolo contributo
un saluto
fabio milano
bene, sono contento di aver dato un piccolo contributo
un saluto
fabio milano
Si prega Accedi o Crea un account a partecipare alla conversazione.
- crosby
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 46
- Ringraziamenti ricevuti 1
12 Anni 9 Mesi fa #34
da crosby
Risposta da crosby al topic Re: I/O expander
Ciao
ho voluta approntare un'altra versione di RTCC + SLEEP con poche differenze.
Qui quando il 4550 entra in sleep spegne anche il display per riaccenderlo quando si sveglia.
L'attivazione dell'interrupt su RB2/INT2 avviene con le primitive della libreria <portb.h> (invece dei registri).
Credo di aver letto attentamente il pdf che documenta la libreria portb.h, ho notato che usando OpenRBxINT non si può però definire il livello di priorità (HIGH o LOW) della routine di interrupt?
Non so! Io faccio il comento peccato non penso ci sia una ragione specifica x questa assenza
un saluto
fabio milano
ho voluta approntare un'altra versione di RTCC + SLEEP con poche differenze.
Qui quando il 4550 entra in sleep spegne anche il display per riaccenderlo quando si sveglia.
L'attivazione dell'interrupt su RB2/INT2 avviene con le primitive della libreria <portb.h> (invece dei registri).
Credo di aver letto attentamente il pdf che documenta la libreria portb.h, ho notato che usando OpenRBxINT non si può però definire il livello di priorità (HIGH o LOW) della routine di interrupt?
Non so! Io faccio il comento peccato non penso ci sia una ragione specifica x questa assenza
un saluto
fabio milano
Si prega Accedi o Crea un account a partecipare alla conversazione.
- crosby
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 46
- Ringraziamenti ricevuti 1
12 Anni 9 Mesi fa #35
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: I/O expander
Ciao Fabio,
ho visto che hai fatto uso direttamente delle funzioni interne alla libreria LCD per inviare direttamente i comandi.
Hai per caso fatto misure di corrente e controllato di quanti mA si abbassano i consumi con e senza uso dei comandi per disattivale l'LCD?
Dovrei controllare il datasheet del controllore, ma visto che lo hai fatto tu, te lo chiedo.
Il comando che invii che parte dell'LCD spegne?
Potrebbe tornare utile scrivere direttamente una funzione dedicata.
Saluti,
Mauro
ho visto che hai fatto uso direttamente delle funzioni interne alla libreria LCD per inviare direttamente i comandi.
Hai per caso fatto misure di corrente e controllato di quanti mA si abbassano i consumi con e senza uso dei comandi per disattivale l'LCD?
Dovrei controllare il datasheet del controllore, ma visto che lo hai fatto tu, te lo chiedo.
Il comando che invii che parte dell'LCD spegne?
Potrebbe tornare utile scrivere direttamente una funzione dedicata.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
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.