Progetti

   

Sponsor

   

Servizi

   
Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: Problemi con la libreria CANbus

Problemi con la libreria CANbus 10 Mesi 6 Giorni fa #1

  • Circuito93
  • Avatar di Circuito93
  • Offline
  • Fresh Boarder
  • Messaggi: 8
  • Karma: 0
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.
// 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
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Problemi con la libreria CANbus 10 Mesi 6 Giorni fa #2

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Offline
  • Moderatore
  • Messaggi: 4656
  • Ringraziamenti ricevuti 555
  • Karma: 52
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
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: Circuito93

Problemi con la libreria CANbus 10 Mesi 5 Giorni fa #3

  • Circuito93
  • Avatar di Circuito93
  • Offline
  • Fresh Boarder
  • Messaggi: 8
  • Karma: 0
Grazie per il prezioso consiglio! Migrerò al più presto a MPLABX.

Saluti,

Valerio
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Moderatori: Mauro Laurenti, StefA
Powered by Forum Kunena
   
© LaurTec 2006-2015