Guida: La programmazione di micro ATMEL con Arduino [rel. 4]

secondo me e' al contrario, e' proprio quando scrivi che scocci

p.s. e' una battuta, ma non sono riuscito ad evitarla :slight_smile:

f.schiano:
Ragazzi ancora una volta volevo avvisarvi che non sono sparito ma sono semplicemente impegnato con un esame!

Purtroppo so che i miei tempi sono un po' scoccianti per le persone che mi vogliono aiutare, ma purtroppo non riesco dopo una giornata di studio a impegnare il cervello ancora su Arduino!!!

Ci si sente a breve...

Grazie ancora per il supporto!

Ciao Fabrizio, non ti preoccupare, studia che è MOLTO più importante, quando ti avanza del tempo lo dedichi alle tue prove, molti tuoi colleghi si perdono per strada proprio perché invertono l'importanza tra studio e passatempo, parola di Prof!

@Testato: non ho parole... :open_mouth:

scusatemi prof :zipper_mouth_face: :slight_smile:

Ragazzi rieccomi .. Sono tornato!
ESAME FATTO
Michele stavo effettuando l'ordine da gaetano-f e ti volevo avvisare anche che gli ho detto che mi è stato consigliato da te... Speriamo non mi applichi un supplemento per questo :slight_smile:

f.schiano:
Ragazzi rieccomi .. Sono tornato!
ESAME FATTO

Bravo, sono fiero di te, lo studio prima di tutto!!!

Michele stavo effettuando l'ordine da gaetano-f e ti volevo avvisare anche che gli ho detto che mi è stato consigliato da te... Speriamo non mi applichi un supplemento per questo :slight_smile:

significherebbe che mi dà la provvigione :blush: :blush: :blush: meno male che i prezzi sono pubblicati su ebay XD, se proprio vuole farmi una donazione ci rimette lui non tu :grin:
Scherzi a parte, quando gli feci il primo ordine, gli diedi alcuni suggerimenti commerciali (tu non puoi saperlo ma io ho vent'anni di esperienza in materia!) e gli dissi che, nei limiti del possibile, lo avrei fatto conoscere a quelli con cui sono in contatto, sperando di fargli avere un incremento di vendite; lui mi ha ascoltato e i risultati non sono tardati ad arrivare, non certo per i 2-3 amici del Forum, ma per tanta altra gente che ha visto il negozio su ebay. [chiusa parentesi]
Allora aspettiamo l'esito delle tue nuove prove, appena ti arrivano i pezzi. Facci sapere.
Ciao.

PS:
l'altro giorno ho comprato anch'io da lui un pannellino solare di dimensioni ridotte col quale voglio rivedere la mia stazioncina meteo. :wink:

Oggi ordino se mi risponde alla domanda sui costi di spedizione.

Sono contento di essere di nuovo qui a poter divertirmi...

Vi tengo aggiornati!

menniti:
l'interpretazione della Guida è una possibile: il quarzo ci vuole! :wink: :sweat_smile: basta non dire più a nessuno di NON usarlo se ha i micro vergini ed è risolto; dopo che gli funziona l'operazione gli si spiega che in stand alone ne può fare a meno, una volta programmati. Dico sul serio, se evitiamo questa "aggiunta" all'inizio ci risparmiamo fiumi di problemi, secondo me.

Interessante questa cosa ci stavo giusto indagando su.

Premessa, dato un micro vergine, è possibile programmarci sopra il bootloader con la tecnica breadboard senza utilizzare il quarzo?
Non vedo perchè non debba funzionare, qualcuno ha provato?
Del resto il micro in questione non viene con i fuse di default per l'utilizzo dell'oscillatore interno ad 8mhz diviso per 8?
In questo caso il micro chiamiamolo TARGET , avrà un clock di 1mhz, ma il bootloader che ci verrà scritto sopra avrà impostazioni dipendenti dal tipo di bootloader che ci viene caricato, non dal clock con la quale viene scritto?
Ho vinto qualche cosa? : $)
Secondo voi pò ffà?

Se il micro è "veramente" vergine (non comprato da venditori disonesti, come alle volte succede, che spacciano per nuovi prodotti smontati da qualche scheda non più funzionante) puoi tranquillamente programmare il micro senza usare un quarzo esterno.
Questo vale per tutti i micro (io ho programmato diversi micro di diverse famiglie Atmel) perché tutti i micro Atmel escono di fabbrica preimpostati a 1 MHz (oscillatore interno ad 8 MHz con divisore 8x abilitato).

Se vuoi usare il bootloader, come detto più volte, devi ovviamente compilarne uno per la frequenza a cui lavora il micro altrimenti non tornano i tempi. Se il micro va in standalone la domanda è: ma ti serve davvero il bootloader? Che te ne fai, a parte occupare spazio nella flash?

Leo, ma eravamo d'accordo che non l'avremmo detto più di NON usare il quarzo :disappointed_relieved:
Va bene, proviamo a riscrivere la regola generale:

  • Per programmare un micro mediante ISP, bisogna configurare l'hardware in base al clock per il quale il micro è impostato.
  • Nel caso in cui il micro sia impostato per un clock con quarzo esterno, il quarzo previsto è indispensabile
  • Nel caso in cui il micro sia impostato per un clock interno, il quarzo esterno, se usato, non influenzerà il buon fine dell'operazione

ergo, usate sempre il quarzo da 16MHz, non fa danno e nemmeno lo sprecate, visto che si usa su breadboard.

Il punto era CAPIRE, non necessariamente, 'facciamo così perchè è più pratico'.

Mi sfugge il perchè se io vado a programmare il bootloader su un micro con il clock ad 1 mhz , questo poi possa essere utilizzato solo ad 1 mhz.

Ma l'impostazione dei fuse non può essere fatta a prescindere dalla velocità con la quale il micro viene programmato?

Mi spiego meglio, non posso programmare il micro vergine la prima volta con un clock ad 1 mhz per poi utilizzarlo successivamente con bootloader già caricato solo ed esclusivamente a 16mhz con quarzo su un altra scheda?

Beh, allora il gioco si fa duro 8)
Il clock ed i valori dei fuse sono intimamente legati. Tu programmi i fuse dando loro un valore in base alle caratteristiche di base che vuoi dare al tuo micro; se decidi che deve lavorare ad 1MHZ devi dare alcuni valori ben precisi, se deve lavorare a 8MHz altri, altri ancora per 16MHz, ma il clock non è l'unico parametro, ce ne sono molti altri.
Restando sul clock, il micro, una volta programmato lavora a quella frequenza, non puoi semplicemente togliere o variare il valore del quarzo per cambiare il clock del micro.
Un esempio: programmo i fuse per quarzo a 8MHz, carico il blink, metto il micro su un circuito con quarzo a 16MHz, il blink lampeggia ogni mezzo secondo e non ogni secondo, perché il micro sta lavorando a velocità doppia rispetto a come è impostato, in pratica lo hai over-clockato.
Un altro esempio: programmi il micro per quarzo a 16MHz e poi lo metti in un circuito senza quarzo, il micro non lavora, perché si aspetta di avere un oscillatore esterno che non ha.
Così va meglio?

Sottolineo quanto detto da Leo, il bootloader NON ti serve se il circuito deve lavorare in stand-alone e non prevedi aggiornamenti tramite seriale.

menniti:
Leo, ma eravamo d'accordo che non l'avremmo detto più di NON usare il quarzo :disappointed_relieved:

Eh, lo so. Ma continuano a chiederlo. Magari per esser certi di non doverlo comprare.

Dai su ragazzi fate i serii, non credo che un pò di sana teoria faccia schifo a nessuno.

@menniti (alias piccolo e nero ,pertanto insignificante :D)
Premetto che non sono un genio, ma la storia del clock potevi evitarla!

RIPREMETTO!! Stò cercando di capire, non devo fare niente di tutto ciò nell'immediato che non sia solo sana sperimentazione !

Cerco di essere più specifico.

Io ho un arduino UNO con caricato l'hex di ISP , e lo collego opportunamente ad un 328 VERGINE senza utilizzo di quarzo alcuno.
Vado a programmarci sopra il bootloader di arduino UNO senza modifica alcuna, così come viene fornito nel pacchetto.
Ecco a questo punto io sostengo che, non solo la programmazione vada a buon fine, ma anche che, prendendo il mio 328 appena dotato di bootloader, montato in una board con quarzo a 16mhz questa funzioni correttamente a quel clock.

Basandovi su quello che ho sopra descritto, se sono stato chiaro, c'è qualcuno che ha basi teoriche per contraddirmi?

Quello che dici è giusto, ma proprio perché un Atmega vergine funziona a 1MHz senza clock esterno.
Programmato con bootloader UNO lo imposti anche a 16 MHz. Ancora giusto.

Chi ha detto il contrario? :stuck_out_tongue:

La mia era una riflessione sul fatto che volendo , in caso di emergenza, si possa programmare al volo il booloader su un 328 assolutamente vergine semplicemente con 5 fili ed un arduino UNO (ma anche 2009 e tutte le altre credo).
Stasera moglie permettendo faccio delle prove.

non serve che tu faccia delle prove (se non per solo tuo uso e consumo), perche' tutto quello che hai detto e' vero.
Come gia' spiegatoti, a volte si ricevono micro non vergini, io ne ho ricevuti 3 su 4, quindi per tagliare la testa al toro, visto che il quarzo non puo' far male (cioe' se il micro e' vergine per davvero non si accorge nemmeno della sua presenza), la guida e' stata impostata dicendo di metterlo sempre.
In questo modo passa in secondo piano la presunta castita' dell'MCU :slight_smile:

niki77:
Dai su ragazzi fate i serii, non credo che un pò di sana teoria faccia schifo a nessuno.

@menniti (alias piccolo e nero ,pertanto insignificante :D)
Premetto che non sono un genio, ma la storia del clock potevi evitarla!

spiega, stavolta non ho capito io; quando chiedi ti fai scappare la logorrea e quando chiedi fai il criptico? Suvvia, un po' di coerenza!

niki77:
La mia era una riflessione sul fatto che volendo , in caso di emergenza, si possa programmare al volo il booloader su un 328 assolutamente vergine semplicemente con 5 fili ed un arduino UNO (ma anche 2009 e tutte le altre credo).

I fili sono 6, sulla Guida presentata in questo Topic c'è scritto tutto ciò che ti serve per fare ciò che vuoi, ancora non capisco cos'altro devi fare di più.

Stasera moglie permettendo faccio delle prove.

perché, di solito si siede sulla breadboard per impedirti di sperimentare :fearful:?

menniti:
quando chiedi ti fai scappare la logorrea e quando chiedi fai il criptico? Suvvia, un po' di coerenza!

Questa proprio non l'ho afferrata...

Stasera moglie permettendo faccio delle prove.

perché, di solito si siede sulla breadboard per impedirti di sperimentare :fearful:?

No generalmente si siede da un altra parte ... ma è off topic
XD

niki77:

menniti:
quando chiedi ti fai scappare la logorrea e quando chiedi fai il criptico? Suvvia, un po' di coerenza!

Questa proprio non l'ho afferrata...

mi pare più facile chiudere questa sezione di discorso se dopo quattro post nessuno capisce l'altro :fearful:

Stasera moglie permettendo faccio delle prove.

perché, di solito si siede sulla breadboard per impedirti di sperimentare :fearful:?

No generalmente si siede da un altra parte ... ma è off topic
XD

[/quote]
Ah, beh, allora è più che comprensibile che mandi per aria la sperimentazione, buon divertimento XD XD XD