Problema scrittura codice AVR Assembly (Atmega 8535)
Moderatore:
Paolino
23 messaggi
• Pagina 2 di 3 • 1, 2, 3
0
voti
allora, ho già modificato il timer counter.... in pratica sull'8535 questo lavoro (cristallo esterno sul timer counter) può essere svolto dal timer counter 2 e non dallo 0..... le prestazioni sembrano migliorate.... anche se credo ci sarà sempre da considerare il tempo perso nelle varie routine soprattutto quando avrò un aggiornamento di più registri in cascata tipo alla fine di un mese ...
0
voti
La RTC linkata (DS1307) comunica con il microcontrollore mediante l'interfaccia seriale I2C.
Ti conviene dare uno sguardo al datasheet.
Ti conviene dare uno sguardo al datasheet.
1
voti
Fai cosi', se non vuoi usare l'RTC, fatti un paio di conti e aggiorna periodicamente il limite di conteggio per il timer: esempio se lo scarto è di un minuto all'ora, te ogni ora (o anche meno, ogni minuto) fai contare per un periodo di timer non fino al limite ma un pochino meno, di modo da fare la correzione.
Questo è un modo veramente balordo, pero' se non vuoi usare l'RTC c'è poco da fare.
Questo è un modo veramente balordo, pero' se non vuoi usare l'RTC c'è poco da fare.
-

rusty
4.075 2 9 11 - Utente disattivato per decisione dell'amministrazione proprietaria del sito
- Messaggi: 1578
- Iscritto il: 25 gen 2009, 13:10
0
voti
sempre in modalità CTC??
potrei anche utilizzare il clock esterno per il timer counter come mi avete consigliato ed aumentare la frequenza del micro in modo che i ritardi diminuiscano no? alla fine io non devo garantire un secondo preciso (anche perché è impossibile) ma devo essere in grado di calcolarmi l'accuratezza su base annua,mensile ecc... logicamente se è troppo sballata la cosa non va bene
tipo se metto un quarzo da 8MHz le operazioni saranno molto + veloci... però poi quale sarà l'effetto negativo di un'operazione del genere?
potrei anche utilizzare il clock esterno per il timer counter come mi avete consigliato ed aumentare la frequenza del micro in modo che i ritardi diminuiscano no? alla fine io non devo garantire un secondo preciso (anche perché è impossibile) ma devo essere in grado di calcolarmi l'accuratezza su base annua,mensile ecc... logicamente se è troppo sballata la cosa non va bene
tipo se metto un quarzo da 8MHz le operazioni saranno molto + veloci... però poi quale sarà l'effetto negativo di un'operazione del genere?
0
voti
Se usi un clock ad una frequenza più alta diminuisce il tempo di esecuzione (pro) ed aumenta il consumo del microcontrollore (contro).
Per una RTC io userei o il quarzo da orologio da 32768 Hz o l'IC esterno.
Il micro dovrebbe solo occuparsi di cambiar valore di uno o pochi registri ad ogni interruzione, il minimo indispensabile e niente più, dimentica i cicli.
Per una RTC io userei o il quarzo da orologio da 32768 Hz o l'IC esterno.
Il micro dovrebbe solo occuparsi di cambiar valore di uno o pochi registri ad ogni interruzione, il minimo indispensabile e niente più, dimentica i cicli.
0
voti
ora ho provato a fare come ha detto rusty e le cose sn migliorate alla grande... in pratica ogni ora con la frequenza del micro di circa 5 MHz (domani rifarò i conti con la frequenza di default) perdevo circa 60 millisecondi.... ho fatto in modo di riguadagnare quel millisecondo ad ogni minuto facendo partire il timercounter in modalità ctc non da 0 ma da 3 (ogni minuto) .... ora bisogna vedere quanto perdo in un giorno visto che ci sn altre routine aggiuntive nel caso passo da un giorno ad un altro e quanto perdo in un mese ;ma non interverrò, sarebbe troppo laborioso e non mi conviene
0
voti
Rabeluk ha scritto:ora ho provato a fare come ha detto rusty e le cose sn migliorate alla grande...
Ripeto funziona, ma è un metodo da "manovali", molto poco professionale... ma è il primo che mi veni' in mente di fare quando iniziai con i microcontrollori con il tuo stesso problema.
Quando imparerai ad avere dimestichezza con TWI sara' tutta un'altra storia, con un bel RTC

-

rusty
4.075 2 9 11 - Utente disattivato per decisione dell'amministrazione proprietaria del sito
- Messaggi: 1578
- Iscritto il: 25 gen 2009, 13:10
0
voti
eheh... intanto in questo modo ho modificato poche righe di codice senza snaturare l'idea che mi ero fatto in principio.... sembrano piccole modifiche ma rischi di risolvere un problema e di averne altri 1000... meglio cosi dai
... domani effettuo i conti con + precisione e vedo se riesco "magari" ad ottimizzare anche quando vado ad incrementare i registri di mesi e giorni
chi lo sa ! magari mi esce un secondo perfetto ahahahahah
grazie ad entrambi per l'aiuto

grazie ad entrambi per l'aiuto
23 messaggi
• Pagina 2 di 3 • 1, 2, 3
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 21 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

