Go Down

Topic: ATmega328P a 3.3V, funziona I2C? (Read 4683 times) previous topic - next topic

leo72


Personalmente credo che la trasmissione seriale dipenda solo dai baud a cui sono impostate le due porte, se sono uguali non dovrebbero esserci problemi

Esattamente. Dispositivi a frequenze differenti possono comunicare senza problemi se usano poi la stessa velocità di trasmissione in bps.

tonid

Quote
Esattamente. Dispositivi a frequenze differenti possono comunicare senza problemi se usano poi la stessa velocità di trasmissione in bps.

Ma per poterli far comunicare non bisognerebbe modificare la libreria ?

flz47655

@Pelletta: puoi provare ad overclockare a 16 MHz l'AtMega @ 3.3v per fare delle prove
Con i2c il clock proviene dalla linea SCL ed è fornito dal Master

Ciao

pelletta

Ho mandato anche l'arduino a 8MHz e ora ricevo bene tutti i messaggi dallo standalone via seriale

leo72

Ma tu hai problemi con l'I2C, o con la seriale?  :smiley-sweat:

pelletta

Con tutto :P
Avevo provato a usare la seriale per fare un pò di debug ma ho dovuto risolvere anche qui un pò di problemucci :)
Ora che va la seriale posso vedere che succede

pelletta


tonid


pelletta

Ho messo un delay(100) tra Serial.begin() e wire.begin()

:smiley-yell:

tonid

Bhe,ci hai sclerato un po ma ora funziona......Quindi indipendentemente dalla frequenza del quarzo la comunicazione avviene tranquillamente?

Michele Menniti

Sì, dovresti almeno spiegare se funziona il circuito iniziale o se sei sempre alle prove intermedie, altrimenti 10 cervelli in fumo senza che nessuno alla fine abbia più capito una mazza, oltre a te ]:D
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

pelletta

Ora ho solo lo standalone collegato impostato a 8MHz e alimentato a 3,3V.
Confermo che il protocollo I2C funziona anche con il micro a 8 MHz e che non servono convertitori di livello per il bus I2C.

Per la comunicazione seriale tra l'arduino e lo standalone ha funzionato solo se entrambi avevano lo stesso clock (anche se mi pare strano)

Michele Menniti


Ora ho solo lo standalone collegato impostato a 8MHz e alimentato a 3,3V.
Confermo che il protocollo I2C funziona anche con il micro a 8 MHz e che non servono convertitori di livello per il bus I2C.
Quote

ma l'altro circuito non sta lavorando alla stessa tensione? il problema dei livelli si pone solo per circuiti che operano con alimentazioni differenti.

[quote
Per la comunicazione seriale tra l'arduino e lo standalone ha funzionato solo se entrambi avevano lo stesso clock (anche se mi pare strano)

anche a me suona molto strano
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html


flz47655


Ora ho solo lo standalone collegato impostato a 8MHz e alimentato a 3,3V.
Confermo che il protocollo I2C funziona anche con il micro a 8 MHz e che non servono convertitori di livello per il bus I2C.

Per la comunicazione seriale tra l'arduino e lo standalone ha funzionato solo se entrambi avevano lo stesso clock (anche se mi pare strano)


Se hai un Arduino a 16 MHz con baudrate 19200 e un AtMega328p ad 8 MHz devi impostare un baudrate doppio di 38400 se utilizzi lo stesso bootloader/codice, se hai un bootloader conscio di essere ad 8 MHz allora puoi impostare lo stesso baudrate

Ciao

Go Up