Lettura segnale IR
13 Anni 3 Mesi fa #1
da DeB
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Lettura segnale IR è stato creato da DeB
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- DeB
- Autore della discussione
- Visitatori
13 Anni 3 Mesi fa #2
da Gianni
Sono tutti bravi ad essere "open" con il "source" degli altri.
Un amico è colui che ti dice sempre quando stai sbagliando. Il mio miglior amico è il parser.
SettoreZero
Risposta da Gianni al topic Re: Lettura segnale IR
Per analizzare i gruppi di bit usa le maschere e i bitshift.
Leggiti questi due miei articoli:
www.settorezero.com/wordpress/operazioni...stri-ad-8-o-piu-bit/
www.settorezero.com/wordpress/gli-operat...o-in-c-per-picmicro/
Lo potevi dire su facebook che avevi postato anche qui
Leggiti questi due miei articoli:
www.settorezero.com/wordpress/operazioni...stri-ad-8-o-piu-bit/
www.settorezero.com/wordpress/gli-operat...o-in-c-per-picmicro/
Lo potevi dire su facebook che avevi postato anche qui
Sono tutti bravi ad essere "open" con il "source" degli altri.
Un amico è colui che ti dice sempre quando stai sbagliando. Il mio miglior amico è il parser.
SettoreZero
Ringraziano per il messaggio: DeB
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Gianni
- Elite Member
Riduci
Di più
13 Anni 3 Mesi fa #3
da DeB
Risposta da DeB al topic Re: Lettura segnale IR
Non ci ho pensato!
ieri sera sono uscito e non ho continuato il lavoretto, (poi leggerò i tuoi link e cambierò di nuovo idea) di usare l'interrupt del timer per fare le letture ogni 600us come fa questo qua:
http://www.pic_examples.byethost3.com/SIRC.html
Che mi pare pulito e semplice. I ritardi non sono mai corretti e mi fido poco.
Ora mi aspettano un paio di giorni da nonna e sono senza internet ma ne approfitterò per scrivere del codice e provarlo una volta a casa.
Grazie di nuovo!
ieri sera sono uscito e non ho continuato il lavoretto, (poi leggerò i tuoi link e cambierò di nuovo idea) di usare l'interrupt del timer per fare le letture ogni 600us come fa questo qua:
http://www.pic_examples.byethost3.com/SIRC.html
Che mi pare pulito e semplice. I ritardi non sono mai corretti e mi fido poco.
Ora mi aspettano un paio di giorni da nonna e sono senza internet ma ne approfitterò per scrivere del codice e provarlo una volta a casa.
Grazie di nuovo!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- DeB
- Autore della discussione
- Visitatori
13 Anni 2 Mesi fa #4
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Lettura segnale IR
Ciao,
Non ho visto in dettaglio il protocollo però posso dirti che il l'utilizzo dei timer per leggere i bit in ingresso è il modo migliore.
In questo modo ottieni tempi precisi e soprattutto riesci a ridurre i consumi del sistema.
Il campionamento del bit deve essere fatto a metà del bit stesso al fine da avere la più alta probabilità di leggere il valore corretto.
Alcune volte si fanno anche più letture nell'intorno della metà del bit e si fa la media, aumentando la robustezza del sistema (ma questo lo si può fare in un secondo passo).
Essendo il tuo un sistema a batteria, avere una batteria leggera e che duri può ritornare utile.
Il PIC, facendo uso dei Timer potrebbe essere quasi sempre in stato di sleep riducendo i consumi da parte della CPU. I timer possono infatti funzionare senza l'intervento della CPU (dopo la loro inizializzazione). Le funzioni disponibili per ottimizzare i consumi dipendono pero' molto dal PIC. Bisogna fare riferimento alla sezione del datasheet relativa al clock e al power managment del PIC utilizzato.
Saluti,
Mauro
Saluti,
Mauro
Non ho visto in dettaglio il protocollo però posso dirti che il l'utilizzo dei timer per leggere i bit in ingresso è il modo migliore.
In questo modo ottieni tempi precisi e soprattutto riesci a ridurre i consumi del sistema.
Il campionamento del bit deve essere fatto a metà del bit stesso al fine da avere la più alta probabilità di leggere il valore corretto.
Alcune volte si fanno anche più letture nell'intorno della metà del bit e si fa la media, aumentando la robustezza del sistema (ma questo lo si può fare in un secondo passo).
Essendo il tuo un sistema a batteria, avere una batteria leggera e che duri può ritornare utile.
Il PIC, facendo uso dei Timer potrebbe essere quasi sempre in stato di sleep riducendo i consumi da parte della CPU. I timer possono infatti funzionare senza l'intervento della CPU (dopo la loro inizializzazione). Le funzioni disponibili per ottimizzare i consumi dipendono pero' molto dal PIC. Bisogna fare riferimento alla sezione del datasheet relativa al clock e al power managment del PIC utilizzato.
Saluti,
Mauro
Saluti,
Mauro
Ringraziano per il messaggio: DeB
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 11 Mesi fa #5
da Cecco
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da Cecco al topic Re: Lettura segnale IR
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Cecco
- Visitatori
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.
Login
© LaurTec 2006 - 2024