Problemi con la libreria CANbus

  • Circuito93
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
5 Anni 1 Mese fa #1 da Circuito93
Problemi con la libreria CANbus è stato creato da Circuito93
Buonasera a tutti,

Chiedo un aiuto per quanto riguarda il protocollo can bus. Sto cercando di far comunicare due pic 18F2580 con modulo ECAN attraverso il protocollo CAN bus.

Entrambi i pic lavorano con un quarzo da 20MHz e condensatori da 15pF e sono interfacciati sul bus attraverso i trasceiver mcp2551.

Sto utilizzando il vecchio MPLAB v8.92 con il compilatore C18 C compiler v3.47. Ho preso come riferimento la libreria laurtec CANlib.h.

Ho preso come spunto l'esempio sul tutorial della libreria, ma fino ad ora (per mia inesperienza) non sono riuscito a
far funzionare il sistema. Ho caricato lo stesso programma su entrambi i pic.

Il programma è pensato per accendere un led dopo aver pigiato un tasto.
Code:
// Imposta la modalità di funzionamento del modulo CAN CANOperationMode (CAN_OP_MODE_NORMAL); // 20 MHz 125Kb/s --> 2,7,6,1,4, CANInitialize (2, 7, 6, 1, 4, CAN_CONFIG_LINE_FILTER_OFF & CAN_CONFIG_SAMPLE_ONCE & CAN_CONFIG_ALL_VALID_MSG & CAN_CONFIG_DBL_BUFFER_ON); // Ciclo infinito while(1) { // Azzero il contenuto nell' Array info [0] = 0x00; if (BUTTON_1 == BUTTON_PRESSED) { info[0] = 0x01; } if (info[0] > 0) { // Controlla che sia possibile inviare il messaggio while (!CANisTxReady()) // Invia il carattere sul CANbus CANsendMessage (0x0A005510, info, 1, CAN_TX_XTD_FRAME & CAN_NORMAL_TX_FRAME & CAN_TX_PRIORITY_2); } // Controlla se è stato ricevuto un dato if (CANisRxReady()) { CANreceiveMessage(&msg); if (msg.data[0] == 0x01) { LED = 0x01; } } }

Qualcuno sa dirmi cosa sto sbagliando?

Vi ringrazio di cuore.

Valerio

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

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
5 Anni 1 Mese fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Problemi con la libreria CANbus
Salve Valerio,

ti consiglio di migrare a XC8 e MPLAB IDE.
Ormai C18 non è più supportato.

Ti consiglio di verificare i seguenti articoli.

MPLAB X: Il nuovo IDE della Microchip

Il compilatore XC8, come migrare dal C18

Scarica la nuova libreria LTlib e vedi gli esempi per il modulo CAN.

Nella versione LTlib 4.x.x ho ancora compatibilità con C18.

Dalla prossima LTlib 5.x.x ho tolto la compatibilità con C18.

Saluti,

Mauro
I seguenti utenti hanno detto grazie : Circuito93

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

  • Circuito93
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
5 Anni 1 Mese fa #3 da Circuito93
Risposta da Circuito93 al topic Problemi con la libreria CANbus
Grazie per il prezioso consiglio! Migrerò al più presto a MPLABX.

Saluti,

Valerio

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

Moderatori: Mauro LaurentiStefA

Registrati al sito

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

Registrati al sito LaurTec.

Forum - Ultimi messaggi