Atmega328 a 12MHz ?

Posso far girare un Atmega328 a 12MHz ??

Basta dire al compilatore che il chip andra' a 12MHz ???

sí puoi ma ci sono controindicazioni come malfunzioni delle interfaccie seriali.
Ciao Uwe

anche il bootloader non funzionerebbe giusto ?

Quello non dovrebbe essere influenzato. La velocità di 19200 baud dovrebbe essere retta senza problemi:
http://www.wormfood.net/avrbaudcalc.php

ho capito come fai a stare sveglio a quest'ora, ogni tanto una botta visiva di queste tabelle e si spalancano gli occhi :slight_smile:

leo72:
Quello non dovrebbe essere influenzato. La velocità di 19200 baud dovrebbe essere retta senza problemi:
WormFood's AVR Baud Rate Calculator Ver. 2.1.1

Posso usare 11.0592 :slight_smile:
Comunque devo sempre specificarlo al compilatore vero ?

In ogni caso se non uso la seriale, a che altri problemi vado incontro ?

Vorrei usare qualcoda tra: un Wiznet5100, un ENC28J60, una SD, millis(), i2c, SPI.....

Testato:
ho capito come fai a stare sveglio a quest'ora, ogni tanto una botta visiva di queste tabelle e si spalancano gli occhi :slight_smile:

No, semplicemente che non sono a casa =(

acik:
In ogni caso se non uso la seriale, a che altri problemi vado incontro ?

Vorrei usare qualcoda tra: un Wiznet5100, un ENC28J60, una SD, millis(), i2c, SPI.....

Attenzione con le librerie. Come più volte ho detto, molte librerie (comprese anche quelle ufficiali) sono scritte dando per scontato che il micro lavori a 16 MHz. Se non prevedono il cambio di frequenza, possono dare problemi.

resta una domanda non posta:
perché 12MHz e non 16MHz?
Ciao Uwe

leo72:
Quello non dovrebbe essere influenzato.

Eccome se il bootloader è influenzato, se lo vuoi usare devi ricompilarlo modificando i parametri della seriale per il nuovo clock.

astrobeed:

leo72:
Quello non dovrebbe essere influenzato.

Eccome se il bootloader è influenzato, se lo vuoi usare devi ricompilarlo modificando i parametri della seriale per il nuovo clock.

Era implicito che dovesse essere ricompilato, non l'ho specificato. Così come è implicito che se vuoi usare l'Atmega328 a 12 MHz devi crearti una board virtuale apposita con il nuovo clock altrimenti tutto il codice compilato girerebbe per timing a 16 MHz e non per quelli del nuovo clock.

uwefed:
resta una domanda non posta:
perché 12MHz e non 16MHz?
Ciao Uwe

Perche' vorrei farmi una scheda minimale (meno integrati possibile)
Vista la necessita' di parlare con integrati che vanno a 3,3V pensavo di far lavorare l' Atmel a 3,3V
Il datasheet dell' Atmel328 dice che a 3,3V la frequenza massima sono 12MHz.

se non ti interessa molto la velocita' a questo punto io lo farei andare con clock interno ad 8MHz, il che significa che il lavoro sporco esiste gia' fatto, bootloader ecc, e che elimini anche Q e C

volevo dire la stessa cosa: Arduino PRO mini 3,3V
Ciao Uwe

Ma se non gli interessa la velocità e magari deve alimentare a batteria, potrebbe pensare anche a sfruttare il micro con le impostazioni di fabbrica, a 1MHz, avrebbe comunque già tutto a disposizione.