BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   I2C - lezione (https://www.baronerosso.it/forum/circuiti-elettronici/242373-i2c-lezione.html)

faustog_2 13 marzo 12 18:22

I2C - lezione
 
interessante questo link..
se avete mezz'oretta consiglio una buona lettura.. magari datemi un riscontro:

pic: basics I2C-Interface

spiega con precisione come usare i modulo hardware del Pic 16F877 e del 16F876 per gestire il protocollo I2C
con i 6 registri preposti.

Anche se in tedesco si intuisce bene, soprattutto dopo aver letto il datasheet dei due Pic sopra citati.
Per esempio come preparare il proprio Pic in modalità Master ovvero per inviare byte....


in sostanza il registro SSPBUF viene usato per caricare il valore da spedire in modalità master oppure il valore da leggere nel caso slave

per esempio vogliamo spedire il seguente byte 10110011 :

MOVLW B'10110011'
MOVF SSPBUF

NEL CASO SLAVE INVECE prende il valore ricevuto lo mette in W e poi lo mostra in PORTB come segue:
MOVF SSPBUF,W
MOVWF PORTB

Come inviare dati quindi Modalità Master:

movlw B'00001000' ; master mode, clock=Fosc/(4*(SSPADD+1))
movwf SSPCON

bsf STATUS, RP0
bsf SSPCON2, SEN
bcf STATUS, RP0

Abilita alla trasmissione Send Enable, di seguito controlla se lo SLAVE ha inviato l' Acknowledge segno che ha ricevuto i dati

i2c_t1
btfss PIR1, SSPIF ; Testa se lo slave ha inviato l' Acknowledge
goto i2c_t1 ; se NO allora ritorna su
bcf PIR1, SSPIF ; altrimenti Ok dato ricevuto dallo SLAVE !


vediamo di seguito come invece preparare la modalità SLAVE, per ricevere:

i2c_rx
bsf STATUS, RP0
bsf SSPCON2, RCEN ; Daten Empfang einschalten
bcf STATUS, RP0
i2c_r7
btfss PIR1, SSPIF ; Daten Empfang fertig?
goto i2c_r7 ; nein, noch nicht
bcf PIR1, SSPIF ; ja, nun noch SSPIF zurücksetzen

movf SSPBUF, w ; empfangene Daten -> W
movwf RXData ; empfangene Daten -> RXData

Ok adesso il dato sta dentro il registro RXData quindi invia un Acknowledge al MASTER

ECCO FATTO!

bsf STATUS, RP0
bsf SSPCON2, ACKEN ; ACK senden
bcf STATUS, RP0


ALTRO LINK BUONO DOVE POTER STUDIARE E' IL SEGUENTE
Interfacing PIC microcontrollers: embedded design by interactive simulation - Martin Bates - Google Libri

faustog_2 13 marzo 12 20:36

gtpa010
 
il protocollo I2C l'ho contemplato per la possibile applicazione GPS...

il modulo GPS di cui dispongo è il GTPA010 .. ho trovato il suo datasheet mi sono accorto che usa la UART e non I2C

ecco il datasheet

http://www.propox.com/download/docs/GPS_GMM_U1LP.pdf

a dopo
fausto


Tutti gli orari sono GMT +2. Adesso sono le 15:56.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002