Visualizza messaggio singolo
Vecchio 13 novembre 12, 13:03   #7 (permalink)  Top
faustog_2
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
OKkio

rileggendo il sorgete in ASM e la tua risposta ho dedotto il funzionamento corretto.. dunque Il master legge dalla SDA solo dopo aver scritto sulla SCL un bit Alto (uno) .. come dire.... DAMMI UN BIT DEL BYTE DA RICEVEREEEE !

per cui è essenziale che SCL sia di uscita per il master , mentre l'SDA di ingresso.. in questo modo si spiega il perchè..

spero d'aver centrato il concetto ..purtroppo usando le classi pronte di Arduino queste cose non si imparano, rimangono concetti inesplorati...

a dopo
fausto


Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
allora c'è qualcosa che mi sfugge.. dunque.... supponendo che ci sia il master (per esempio un Pic16F84 ) ..che decide di comunicare con lo slave il sensore LIS302DL ...dopo aver concordato l'indirizzo SAD e dopo aver preso l'ack ...inizia la vera e propria comunicazione ..che si avvale di due linee.... in cui il Mastrer deve ascoltare x entrambe.. quindi per entrambe deve avere una modalità di lettura Input, quindi mi aspetto anche

BSF TRISB, 0
oltre che
BSF TRISB,1

invece non c'è! ..non esiste nel codice sorgente!

In teoria il master dovrebbe ascoltare su entrambe le linee, quindi modalità Input per entrambe. Appena arriva un fronte di salita sulla SCL ...allora prende per buono il valore :alto, basso che legge nella SDA.

..dalla tua risposta intuisco ...di non aver capito qualcosa da questo protocollo!

Ultima modifica di faustog_2 : 13 novembre 12 alle ore 13:06
faustog_2 non è collegato   Rispondi citando