Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problema scrittura codice AVR Assembly (Atmega 8535)

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: problema scrittura codice avr-assembly(atmega 8535)

Messaggioda Foto UtenteRabeluk » 12 lug 2013, 15:11

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 ...
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

0
voti

[12] Re: problema scrittura codice avr-assembly(atmega 8535)

Messaggioda Foto Utentesimo85 » 12 lug 2013, 15:25

La RTC linkata (DS1307) comunica con il microcontrollore mediante l'interfaccia seriale I2C.

Ti conviene dare uno sguardo al datasheet.
Avatar utente
Foto Utentesimo85
30,8k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[13] Re: problema scrittura codice avr-assembly(atmega 8535)

Messaggioda Foto UtenteRabeluk » 12 lug 2013, 15:32

vorrei evitare di usarla ... anche perché mi serve finire a breve il tutto e sono sicuro che cosi allungherei di molto i tempi....
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

1
voti

[14] Re: problema scrittura codice avr-assembly(atmega 8535)

Messaggioda Foto Utenterusty » 12 lug 2013, 15:40

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.
Avatar utente
Foto Utenterusty
4.077 2 9 11
Utente disattivato per decisione dell'amministrazione proprietaria del sito
 
Messaggi: 1578
Iscritto il: 25 gen 2009, 13:10

0
voti

[15] Re: problema scrittura codice avr-assembly(atmega 8535)

Messaggioda Foto UtenteRabeluk » 12 lug 2013, 15:58

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?
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

0
voti

[16] Re: problema scrittura codice avr-assembly(atmega 8535)

Messaggioda Foto UtenteRabeluk » 12 lug 2013, 20:09

mi è venuto un dubbio... modificare il timer counter mentre sta contando può creare qualche problema?
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

0
voti

[17] Re: problema scrittura codice avr-assembly(atmega 8535)

Messaggioda Foto Utentesimo85 » 12 lug 2013, 20:29

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.
Avatar utente
Foto Utentesimo85
30,8k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[18] Re: Problema scrittura codice AVR Assembly (Atmega 8535)

Messaggioda Foto UtenteRabeluk » 12 lug 2013, 20:42

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
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

0
voti

[19] Re: Problema scrittura codice AVR Assembly (Atmega 8535)

Messaggioda Foto Utenterusty » 12 lug 2013, 20:45

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 :ok:
Avatar utente
Foto Utenterusty
4.077 2 9 11
Utente disattivato per decisione dell'amministrazione proprietaria del sito
 
Messaggi: 1578
Iscritto il: 25 gen 2009, 13:10

0
voti

[20] Re: Problema scrittura codice AVR Assembly (Atmega 8535)

Messaggioda Foto UtenteRabeluk » 12 lug 2013, 20:58

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 :D... domani effettuo i conti con + precisione e vedo se riesco "magari" ad ottimizzare anche quando vado ad incrementare i registri di mesi e giorni :mrgreen: :mrgreen: chi lo sa ! magari mi esce un secondo perfetto ahahahahah :mrgreen:

grazie ad entrambi per l'aiuto :mrgreen: :mrgreen:
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

PrecedenteProssimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti