Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 21 novembre 12, 10:10   #1 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
Spi

ciao in merito a SPI credo d 'aver trovato un ottimo riferimento qui, una guida completa che parte dalla teoria e finisce con la pratica :

Using Serial Peripheral Interface (SPI) Master and Slave with Atmel AVR Microcontroller | ermicroblog

In merito al LIS302DL e la lettura dell'accelerometro:

I pin da usare :

SS pin 10 PWM
SDI pin 11 PWM
SDO pin 12 digital pin
SCK pin 13 digital pin


QUINDI PER RICEVERE I DATI DAL DEVICE OCCORRE

digitalWrite(slaveSelectPin,LOW); abbassa l' SS quindi start SCK
byte value_X = SPI.transfer(address); riceve il valore registrato all'indirizzo
digitalWrite(slaveSelectPin,HIGH);



adress [X,X,X,X,X,X,0,0]
byte [0,0,0,0,0,0, 0,1]

adress |= (2 << 0x01);


A


Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
@Fausto: il protocollo, sia hw che sw, del bus I2C è nato come single master multi slave, uno comanda gli altri ubbidiscono, in qualche modo è simile al Profi-BUS nativo.

In effetti è possibile connettere anche 2 master fra loro e farli cooperare/dialogare per gestire gli slave, è però una configurazione limite e piuttosto pericolosa come affidabilità, se a questo aggiungi una bassa velocità di comunicazione ed una scarsa efficienza (basso payload) tutto ciò rende il protocollo I2C adatto ad applicazioni con pochi slave, poco rischiose e con latenze lunghe.

Personalmente preferisco operare le comunicazioni in sistemi multi-master e multi slave utilizzando la SPI localmente e protocolli più sofisticati su distanze maggiori (Profi-BUS, CAN-BUS etc.).

faustog_2 non è collegato   Rispondi citando
Vecchio 08 dicembre 15, 11:54   #2 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
qualcosa si muove!

dunque a distanza di tempo
ho ripreso l'argomento, in pratica sto usando un pic 12F629, uno dei piu piccoli micro , giusto per dare un valore didattico, al momento sono riuscito ad ottenere l' ack dal dispositivo..

il dialogo è il seguente

- invio Condizione di START
- invio BYTE di ID dispositivo con modalità W
- condizione di ascolto per ricevere l'Ack

(fin qui ok ricevo l'ack dal device)

-adesso dovrei inviare nuovamente l'indirizzo di prima con il bit più singnificativo posto a UNO, se desidero l'auto incremento altrimenti ZERO
-dovrei aspettare nuovamente l'Akc
- invio Condizione di START
- invio BYTE di indirizzo dato a 7 bit con in più il bit per dire Read (ho intenzione di leggere)


a voi eventuali consideraazioni
faustog_2 non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Messaggio
I2C - lezione faustog_2 Circuiti Elettronici 1 13 marzo 12 19:36
I2C - lezione faustog_2 Circuiti Elettronici 3 23 febbraio 12 10:06
I2C PIC SLAVE LeoPG Circuiti Elettronici 1 17 febbraio 05 18:51



Tutti gli orari sono GMT +2. Adesso sono le 04:16.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2026
www.baronerosso.it - www.toymagazine.it