Pages: 1 ... 3 4 [5] 6 7   Go Down
Author Topic: ATmega328P a 3.3V, funziona I2C?  (Read 3105 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Torino
Offline Offline
God Member
*****
Karma: 2
Posts: 753
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?
Logged

Parma
Offline Offline
Edison Member
*
Karma: 19
Posts: 2315
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@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
Logged

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2263
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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


Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2263
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2263
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

FUNZIONA!!!

Logged

Torino
Offline Offline
God Member
*****
Karma: 2
Posts: 753
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E quale era il problema?
Logged

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2263
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

 smiley-yell
Logged

Torino
Offline Offline
God Member
*****
Karma: 2
Posts: 753
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-twist
Logged

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

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2263
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

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

Torino
Offline Offline
God Member
*****
Karma: 2
Posts: 753
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mah smiley-roll
Logged

Parma
Offline Offline
Edison Member
*
Karma: 19
Posts: 2315
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Pages: 1 ... 3 4 [5] 6 7   Go Up
Jump to: