Allora si passa ad emulare in toto la trasmissione in bit banging.
Per usare gli interrupt, vedi Atmel-42735A-ATmega328/P_Datasheet_Complete-06/2016
a pag. 82. Si potrà usare PCINT0, 1, 2 che dovrebbero sostituire i GPIO.RNG. GPIO.DCLK e GPIO:DR.
Qualcosa l' ho trovato qui
http://stackoverflow.com/questions/4137771/pin-change-interr… Ma la questione rimane se l' interrupt viene rilevato su entrambi i fronti del livello logico. Ma credo che ci sia spiegato a pag. 87 .
StartTimer() può esser benissimo gestita con la libreria TimerOne. Che in genere fa il conteggio per mettere a dormire il sistema.
Anno nuovo, forum nuovo.
Mi sa che lascio.
DottPsy
postato il: 19.05.2017, alle ore 20:04
picmicro675: Allora si passa ad emulare in toto la trasmissione in bit banging ...
Bene, ho letto i testi alle pagine da te indicate e il link, in effetti, avendo letto anche il datasheet del chip, il ring lo deve determinare Arduino e contestualmente risvegliare il chip per la decodifica. Il pin 9 del chip determina il clock di lettura mentre sul pin 10 c'è il treno di byte uno per volta. Quindi serve un solo interrupt che a ogni clock, legge.
Potrei convertire i byte in char in codifica ascii e sommare tutto in una stringa, sapendo le posizioni, posso estrarre data ora e numero.
Idea di massima, da testare.
La mente mente e noi aiutiamo a farla mentire.
picmicro675
postato il: 19.05.2017, alle ore 21:05
Forse, non potrai fare uso della alimentazione della linea telefonica. Quindi si potrebbe anche soprassedere per i consumi. Visto che mi citi anche uno shield in ethernet.
Credo che se ti serve, potresti mettere a dormire il micro e quasi tutti gli interrupts sono in grado di sveglarlo.
Ho già citato il sito di gammon, che spiega bene come portare i consumi a livelli molto contenuti.
http://www.grix.it/viewer.php?page=12816 vedere nei commenti.
In caso verifica con i fogli dati quali sono le condizioni che risvegliano il micro.
Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito