spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Robotica di base > Informatica > P. in Basic per micro

Rispondi
 
Strumenti discussione Modalità  visualizzazioe
  #1  
Vecchio 19-11-2008, 15.52.03
leonsungabriele leonsungabriele non è collegato
Robottaro senior
 
Data registrazione: 19-11-2008
Residenza: pavia
Messaggi: 34
Potenza reputazione: 60
leonsungabriele E' per ora ancora un mistero
Predefinito Comunicazione I2C

Vista la difficoltà di trovare materiale riguardo la comunicazione SPI utilizzando il picbasic ho deciso che mi va bene far comunicare il pic tramite l'I2C. Qualcuno ha del materiale a riguardo?
Il mio obiettivo è mandare sequenze di 8 bit ad una data frequenza verso un sensore che funge da slide.
Ciao a presto
Rispondi citando
  #2  
Vecchio 20-11-2008, 08.12.32
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 23-05-2002
Residenza: Monselice (PD)
Età : 61
Messaggi: 5,458
Potenza reputazione: 436
marnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua fama
Predefinito

Con il picbasic è piuttosto semplice comunicare in modo master I2C nel senso che c'è l'istruzione I2CWRITE, difficile se non impossibile avere il lato slave ma di solito questo è già implementato nei sensori o dispositivi vedi LCD03, bussole e la serie SFRxx
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
Rispondi citando
  #3  
Vecchio 20-11-2008, 08.17.40
leonsungabriele leonsungabriele non è collegato
Robottaro senior
 
Data registrazione: 19-11-2008
Residenza: pavia
Messaggi: 34
Potenza reputazione: 60
leonsungabriele E' per ora ancora un mistero
Predefinito

Salve Marnic
Si è vero nel mio sensore lo slave I2C è già implementato! Quindi devo solo programmare il mio pic in modo tale che funzioni da master e possa comunicare direttamente col sensore. Però non ho mai avuto a che fare con questo tipo di comunicazione e sto incontrando dei problemi nello scrivere il codice, anche perchè forse oltre ad utilizzare il comando I2cwrite devo impostare opportunamente dei registri. Non avete per caso un codice di esempio che faccia qualcosa di simile a quello che devo realizzare io?
Grazie ancora
Gabriele
Rispondi citando
  #4  
Vecchio 20-11-2008, 09.05.44
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 23-05-2002
Residenza: Monselice (PD)
Età : 61
Messaggi: 5,458
Potenza reputazione: 436
marnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua fama
Predefinito

Niente registri da settare, ci pensa il pic basic.
Usa questi DEFINE:
DEFINE I2C_SLOW 1
DEFINE I2C_HOLD 1
Non tutti i dispositivi slave vanno a 400KHz

Codice:
i2cwrite sda,scl,inddisp,0,[3,3,6]
i2cwrite sda,scl,inddisp,0,["Hello"]
Queste due righe scrivono sull'LCD (Fai riferimento alla tabella comandi dell'LCD03)

Prima devi aver impostato:
Codice:
SCL     VAR     PORTC.3    ' Clock pin
SDA     VAR     PORTC.4    ' Data pin
inddisp = %11000110  'indirizzo I2C display
ad esempio, dipende da quali porte sono dedicate all'I2C nel pic che usi e dall'indirizzo del tuo dispositivo, nel caso del display l'indirizzo è C6 in esadecimale, equivalente a 11000110 in binario

Ciao
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
Rispondi citando
  #5  
Vecchio 20-11-2008, 12.37.48
leonsungabriele leonsungabriele non è collegato
Robottaro senior
 
Data registrazione: 19-11-2008
Residenza: pavia
Messaggi: 34
Potenza reputazione: 60
leonsungabriele E' per ora ancora un mistero
Predefinito

Grazie Marnic
incomincio a vedere un po' di luce!
Pero' ora vorrei provare il tutto direttamente sulla mia board collegando il sensore direttamente al pic e mandando sequenze di 8 bit del tipo: 00011100.

Quindi ho un po' di dubbi:
1)al piedino scl devo mettere un clock?
2)come dichiaro e spedisco la stringa: 00011100?

Grazie tante Marnic
A presto
Gabriele
Rispondi citando
  #6  
Vecchio 20-11-2008, 12.59.05
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 23-05-2002
Residenza: Monselice (PD)
Età : 61
Messaggi: 5,458
Potenza reputazione: 436
marnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua famamarnic La sua reputazione è oltre la sua fama
Predefinito

Citazione:
Orginalmente inviato da leonsungabriele Visualizza messaggio
Quindi ho un po' di dubbi:
1)al piedino scl devo mettere un clock?
2)come dichiaro e spedisco la stringa: 00011100?
1)Nessun clock esterno, è il pic che internamente lo genera su quel piedino
2)La stringa viene sempre inviata come sequenza di zero e uno, se tu fai:
i2cwrite sda,scl,inddisp,0,[28] in realtà mandi proprio la sequenza che hai scritto tu: "00011100".
Non ho mai provato se viene accettata la sintassi:
i2cwrite sda,scl,inddisp,0,[%00011100]
fai una prova tu e magari fammi sapere se il compilatore la digerisce.
Ciao
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalità  visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code è Attivato
Le smilies sono Attivato
[IMG] è Attivato
Il codice HTML è Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
comunicazione dsp pic 1q2w3e4r Comunicazione 7 03-11-2010 13.38.44
Comunicazione SPI tra pic anti83 P. in Basic per micro 2 20-11-2008 09.26.38
comunicazione tra pic franco1063 Elettronica 5 13-06-2006 13.07.45
comunicazione tra pic argoI P. in Basic per micro 5 30-03-2006 18.50.22
Comunicazione IR MarkNitro Elettronica 7 12-04-2003 13.43.00


Tutti gli orari sono GMT. Adesso sono le: 02.37.26.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB