Newsgroup: it.hobby.elettronica.digitale
Titolo: bus i2c

Salve a tutti o "guru" dell' elettronica
Qualcuno di voi conosce qualche controllo o funzione particolare del Visual
Basic o del Visual C++ che mi permetta di dialogare tramite porta parallela
o seriale del PC con dispositivi che funzionino con il protocollo I2C ?
Un immenso GRAZIE a chi mi può dare qualche dritta !

 wrote in message
Zfji5.8403$dF5.1...@news.infostrada.it...

Conoscendo il protocollo credo che sia difficile implementare qualche dll o
vxd per simulare il protocollo I2C sulle porte del PC. Cio' che si puo' fare
e' utilizzare un paio di piedini della parallela per simulare il
funzionamento MASTER SINGOLO. Tutti gli altri modi (SLAVE e MULTIMASTER) del
protocollo I2C non credo sia possibile simularli via software.
Normalmente il modo MASTER SINGOLO e' quello che ci permette di interrogare
i dispositivi di periferica (EEPROM, convertitori DA, RTC, epansioni,
ecc..). In questo caso poiche' e' il PC a generare il clock non ci sono
problemi stringenti di temporizzazioni. In pratica non ci devono essere
altri MASTER sulla rete I2C.
Se vuoi fare delle prove ci sono delle dll in rete per leggere e scrivere
direttamente sulle porte del PC.
Studiati il protocollo I2C sul sito della Philips e auguri :-)
P.S. E' piu' semplice fare un convertitore RS232 - I2C (master singolo) con
un PIC e usare il MScomm del VisualBasic
--
Ciao Andrea
SENZAQUESTO per rispondere in e-mail
Web: 
http://digilander.iol.it

 protocollo I2C non credo sia possibile simularli via software.
Impossibile ? mai sentita questa parola :-)
Ho in giro tutto quanto serve (HW e SW). Peccato che è per
DOS e la "traduzione" è tuttaltro che semplice... NT non gradisce il real
time e quando il PC lavora come slave la velocità è essenziale
Se serve: un fischio (purtroppo non ho più il riferimento web)
--
VincenzoVilla (at) iname (dot) com
http://www.VincenzoV.net

 Impossibile ? mai sentita questa parola :-)
Infatti ho usato "non credo sia possibile", comunque Jack lavora in Visual e
non in DOS e quindi gli occorrerebbe un VXD fatto apposta.
Ho comperato un testo "Writing Windows Virtual Device Drivers" di David
Thielen e Bryan Woodruff della Addison Wesley e sono arrivato a leggere sola
alla pagina 10, dopo di che ho capito che non e' cosa semplice (ovvero, non
e' cosa per me).
A proposito per 20.000 ve lo cedo (prezzo di copertina 80.000).


protocollo I2C non credo sia possibile simularli via software.
L'impossibile non esiste :-)
Diciamo che se uno vuole fare le cose per bene (come di solito si
dovrebbe fare) allora dovrebbe scrivere un bel Virtual Device per
gestire il tutto = Gran casino e grossi problemi di realizzazione.
Se si riesce comunque e' la soluzione piu' pulita e corretta.
Nel caso in cui non si badi molto alla pulizia,essendo Win9x un
Sistema Operativo non troppo serio si puo' utilizzare la parallela
come sotto DOS fregandosene di cosa ne pensa Windows.
Io ad esempio avevo realizzato un Modem RTX FSK e siccome (almeno
inizialmente) doveva funzionare sotto DOS e non mi interessava la
"pulizia" ho lasciato stare i VxD e l'ho ralizzato con due metodi.
1) Il primo e' stato un Driver .SYS sotto DOS che per la parte di
Ricezione si agganciava all'interrupt del Timer scandendo regolarmente
la Parallela. Quando arrivava qualcosa lo decodificava e lo metteva in
buffer che poteva essere letto con le normali operazioni di I/O del
DOS (Da buon driver di dispositivo a caratteri). Una volta caricato
Windows il tutto continua a funzionare regolarmente e quindi si puo'
utilizare il modem con qualunque linguaggio anche sotto Win.
2) Nella seconda versione che ho fatto in Visual C++ sotto Windows ho
risolto il problema della scansione della parallela inserendo la
routine di ricezione nel metodo richimato dal messaggio ON_TIMER.
Anche in questo caso funziona regolarmente.
Ciao, Massimo - IW1FDX
E-Mail    
max...@libero.it
Visita la pagina dedicata ai microcontrollori ST62
all'indirizzo 
http://digilander.iol.it/max4000

>io l' ho fatto inVbasic con una dll : qualcuno vuole provarlo ?
Ok mandamela che la provo

Ciao,
Per quanto riguarda il controllo della parallela con il Visual Basic, non
credo ci siano dei comandi diretti (a differenza della seriale) ma dovresti
usare delle dll che ti permettono di aggirare il problema...io ne avevo
provata una che mi permetteva di fare ciň, ma ora non saprei dove
cercartela velocemente...se riesco a trovare il tempo provo a cercartela,
(magari qualcun'altro te la manda nel frattempo...)
Posso segnalarti anche un corso su come utilizzare la seriale con Visual
Basic per progettare interfacce per il PC sulla rivista di settembre di
Elektor Electronics (
www.elektor-electronics.co.uk
 ), inoltre viene
annunciato un articolo per il prossiomo mese di ottobre per una interfaccia
universale per la parallela, capace di controllare anche il bus I2C.....e
tanti altri articoli interessanti (uso delle porte USB, utilizzo del
GameBoy come oscilloscopio portatile, lettore MP3 da CD e Hard Disk stand
alone .......etc etc)
Ciao e fammi sapere cosa ne pensi....
Lino
