Can bus

9 Anni 1 Mese fa #1 da ersimone
Can bus è stato creato da ersimone
Ciao a tutti,
vorrei connettere due (o più) pic attraverso il protocollo can bus. Nei giorni scorsi ho letto svariati documenti sul funzionamento di tale protocollo e sui pic che lo supportano attraverso le periferiche. Ho visto che sul sito era disponibile la libreria adatta ma che funziona solo con il compilatore C8, mentre io uso XC8. Volevo capire se esiste un sistema per adattare la libreria, altrimenti manipolando i registri del pic18f4480 dedicati al can bus è possibile implementare tale comunicazione magari mantenendo anche gli standard (ad esempio J1939)?
Grazie per le risposte,
Simone.

Il tuo pannello solare termico scalda troppo l'acqua? Potrebbe esserti utile questo: www.instructables.com/id/DIY-solar-panel-roll-up-shutter/

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ersimone
  • New Member
  • New Member
Di più
9 Anni 1 Mese fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Can bus
Ciao Simone,

benvenuto nel Forum.

Sebbene la libreria sia segnalata come non compatibile con XC8, i passi per renderla sono pochi.

Se vedi le altre librerie ti puoi rendere conto che si tratta di aggiungere xc.h all'inizio e cambiare la dichiarazione delle variabili specificando se sono signed o unsigned. Se non lo fai va bene lo stesso ma potrai avere delle warning e potenziali errori "subdoli".

Una guida sul porting la trovi qui:

bn0019 il compilatore xc8 come migrare dal c18

Non ho mai fatto il porting per pigrizia. :)

Oltre a questo, quando effettuero' il porting vorrei cambiare il nome delle funzioni e dividere il file .c in .h e .c come il resto delle librerie, e avere dunque uno standard su tutte librerie (manca solo la libreria CAN)
...ma questo e' un altro argomento.


Saluti,

Mauro
Ringraziano per il messaggio: ersimone

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
9 Anni 1 Mese fa #3 da ersimone
Risposta da ersimone al topic Can bus
Grazie mille Mauro.

Il tuo pannello solare termico scalda troppo l'acqua? Potrebbe esserti utile questo: www.instructables.com/id/DIY-solar-panel-roll-up-shutter/

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ersimone
  • New Member
  • New Member
Di più
9 Anni 1 Mese fa #4 da ersimone
Risposta da ersimone al topic Can bus
Ciao Mauro,
ho studiato a fondo la libreria per il Can Bus ma non riesco a capire come ottenere l'identifier del messaggio ricevuto usando la funzione CANreceiveMessage, mi potresti aiutare :S ? Grazie.

Il tuo pannello solare termico scalda troppo l'acqua? Potrebbe esserti utile questo: www.instructables.com/id/DIY-solar-panel-roll-up-shutter/

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ersimone
  • New Member
  • New Member
Di più
9 Anni 1 Mese fa - 9 Anni 1 Mese fa #5 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Can bus
BYTE CANreceiveMessage (CANmessage *msg) accetta in ingresso una variabile di tipo CANmessage, o meglio il suo indirizzo (riferimento).

Dopo la chiamata della funzione per ricavare l'identifier, devi scrivere:

la_tua_variabile.identifier

Saluti,

Mauro
Ultima Modifica 9 Anni 1 Mese fa da Mauro Laurenti.
Ringraziano per il messaggio: ersimone

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login