Lettura valori accelerazione LIS302DL

Salve a tutti, sono nuovo del forum e ne approfitto per salutare tutti e chidervi un consiglio.

Avrei bisogno di leggere i valori di accelerazione lungo i tre assi dall'accelerometro LIS302DL della ST collegato ad una scheda MuIn dotata di PIC p18F2520.

In una scheda riguardante l'accelerometro ho trovato un esempio di firmware per leggere i tre valori, ma tale firmware è stato creato per il PIC 16F88.

Che modifiche devo apportare per adattarlo al mio PIC? Oppure secondo voi mi conviene crearlo da zero lasciando perdere quello che ho trovato?

Vi ringrazio per l'aiuto che mi darete.

Dimentivo, il link dell'esempio del firware è: www.sparkfun.com/datasheets/Sensors/Accelerometer/LIS302DL-Tester.zip

Ciao, forse sei nel forum sbagliato :-) Mi spiego meglio: Arduino ha, come cuore "pulsante", un AVR e non PIC quindi mi sa che non ti possiamo essere molto di aiuto :(

Ho dato un'occhiata al codice per il PIC, non hai bisogno di modificare quello ma puoi usare una delle librerie native di Arduino. Nel listato puoi leggere all'inizione che il LIS302DL lavora in SPI, ma in quel frangente viene fatto lavorare in I2C. Ci sono degli sketch gia pronti:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213072318

In teoria potresti adattare quel codice facilmente. Dai datasheet verifica la corrispondenza dei registri tra i 2 pic. Inoltre devi cambiare la corrispondenza dei pin sda, sdo, scl, il clock, il device. In linea di massima il compilatore ti avverte se per caso i registri non esistono. Generalmente le modifiche sono poche, ma nel tuo caso si tratta di 2 famiglie di processori diverse la 16f e la 18f quindi a livello di registri mi sa che dovrai sudare un bel po...... Se il trucchetto non riesce subito, non ci sbattere troppo tempo, ti conviene rifare exnovo. IMHO

P.S ti conviene postare sul forum della microchip ;)

Grazie mille per le risposte immmediate. Ho dato un occhio al link che mi ha dato tinman66 e leggendo il codice sembra proprio ch eè possa servirmi. Quello che ho pensato di fare a questo punto è modificare il firmware del mio PIC 18f2520 (http://www.robot-italy.net/downloads/990005/SOURCE1_6.zip) nella sezione di controllo della I2C andando a mettere il codice riportato lì. Cerco di spiegarmi meglio, quello che penso di fare è: -poichè il firmware originale accetta una serie di comandi provenienti dalla seriale fra qui quelli di lettura e scrittura dell'interfaccia I2C -Nella sezione riguardante la lettura metto il codice relativo al LIS302DL presente nel link suddetto..

Che ne pensate? Vi prego di perdonare tutte le castronerie che posso dire ma sono un perfetto neofita in questo campo.

Come faccio ad usare il codice contenuto in questo link http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213072318 ?? Dove trovo la classe Wire? Vi ringrazio anticipatamente.

Il codice che trovi li e' per un micro AVR anzi specificatamente per scheda di tipo arduino, non va bene per un pic. wire.h NON e' una classe ma una libreria. Se vuoi lavorare con i micro meglio che ti scordi le classi (ovvero il C++) dato che occupano troppa memoria ed inizi a ripassare il C e se vuoi anche un po di ASM se devi lavorare con la famiglia Microchip PIC.

Il mio è stato solo un errore di scrittura...ovvio che è una libreria. Comunque non capisco allora perche hai presentato quell'esempio se poi non si puo usare... Esistono milioni di esempi che non sono compatibili con PIC, ma di certo non cerco quelli :) Ti ringrazio lo stesso...

Ho presentato quell'esempio perche all'inizio avevo capito che volevi usare un arduino. Poi ho riletto bene, per usare un PIC sei sul forum sbagliato.