Page 1 of 1

I2C per AT89C51RD2

PostPosted: 20 Mar 2014, 18:17
by Henk
Buonasera a tutti.

Dovrei far comunicare un AT89C51RD2 con una periferica in I2C. Quel micro non ha però una SPI dedicata con SCL/SDA per realizzare direttamente l'I2C.

Come si può fare in BASCOM-8051??

Grazie
Tiziano

Re: I2C per AT89C51RD2

PostPosted: 20 Mar 2014, 18:44
by pier
Se l'hw con il quale devi comunicare è "slave" la cosa è molto semplice (guarda l'help che descrive bene il tutto), diversamente mi pare si debba acquisire una libreria ad hoc (mcselec.com)

Re: I2C per AT89C51RD2

PostPosted: 20 Mar 2014, 19:18
by Henk
Grazie pier,

in realtà non si è ancora stabilito chi è master e chi slave, si tratta di prevedere a livello di progettazione PCB una via di comunicazione I2C con un transponder e poi si vedrà il da farsi. Il punto adesso è sapere se la cosa è realizzabile in BASCOM-8051 (credo di sì, visti gli esempi in C presenti sul sito Grifo), quali pin vanno utilizzati quando il micro non li prevede e sapere come gestirli via FW (cosa altrimenti "normale" in BASCOM quando i pin dedicati ci sono).

Grazie
Saluti
Tiziano

Re: I2C per AT89C51RD2

PostPosted: 20 Mar 2014, 19:29
by deluca
@Henk,
Gestire l'I2C in modalità Master con implementazione software è possibile con Bascom-8051.
Il compilatore provvederà a inserire una porzione di codice assembly per emulare una porta TWI.
Quindi per prima cosa devi configurare arbitrariamente i pin destinati a SCL e SDA, inizializzare con I2Cinit e poi usare gli stataments relativi per avviare la comunicazione con la periferica I2C di tipo slave.