LCD screen and CAN bus

Hello,
i have a LCD screen 7" with a shield that work fine alone i can do everything i want on a Mega
and on that screen i want to print can datas.
but after wire opening the can bus fail.
I think this is because of CS MISO MOSI etc

i'm new at lcd but i know a little about can bus maybe i didn't understood something

Here's my code

#include <UTFT.h>
#include <mcp_can.h>
#include <SPI.h>

UTFT    ECR(CTE70,38,39,40,41); //7" TFTLCD for arduino 2560

#define CAN0_INT 18                               // Set INT to pin 18 // 2 utilise ecran
MCP_CAN CAN0(10);                               // Set CS to pin 10
#define DATA_DISPO !digitalRead(CAN0_INT)

// Declare which fonts we will be using
extern uint8_t BigFont[];

char trame_1C7[4];
char trame_4F7[8];
char trame_428[8];
char trame_42F[2];
char trame_155[8];
char trame_423[8];
char trame_157[8];
char trame_435[8];

char all[50];

long unsigned int rxId;
unsigned char len = 0;
unsigned char rxBuf[8];
char msgString[128];                        // Array to store serial string

void setup() {
  ECR.InitLCD();
  ECR.clrScr();

  ECR.setFont(BigFont);
  ECR.setBackColor(0, 0, 255);
  Serial.begin(2000000);
  Serial.println("OK");
  if(CAN0.begin(MCP_ANY, CAN_250KBPS, MCP_16MHZ) == CAN_OK)
    Serial.println("MCP2515 Initialized Successfully!");
  else
    Serial.println("Error Initializing MCP2515...");

  CAN0.setMode(MCP_LISTENONLY);                     // Set operation mode to normal so the MCP2515 sends acks to received data.

  pinMode(CAN0_INT, INPUT);                            // Configuring pin for /INT input
  
}

void loop() {
  if(DATA_DISPO){
  	CAN0.readMsgBuf(&rxId, &len, rxBuf);
	ECR.clrScr();
	CAN_Ges_received_messages(rxId);
	aff_trame();
  }
}

void aff_trame(){
  memset(all,'\0',50); // met le tableau afficher a la fin a \0
  char tmp[20];
  char res[50];
  memset(res,'\0',50);
  memset(tmp,'\0',20);

  /***********************************************************/
  /*                           1C7                           */
  /***********************************************************/
  sprintf(all,"0x1C7"); 
  sprintf(all,"%s %d",all,sizeof(trame_1C7));
  for(int i = 0; i < sizeof(trame_1C7); i++)
  {
    sprintf(tmp,"%2x",trame_1C7[i]); // en hexa
    sprintf(res,"%s|0x%s",res,tmp); // concatene
  }
      sprintf(all,"%s %s",all,res); // on concat les 2 chaines pour faire le resultat
      ECR.print(String(all),LEFT,10); // et on affiche

  /***********************************************************/
  /*                           4F7                           */
  /***********************************************************/
  memset(all,'\0',sizeof(all)); // met le tableau afficher a la fin a \0
  memset(res,'\0',sizeof(res));
  memset(tmp,'\0',sizeof(tmp));
  
  sprintf(all,"0x4F7"); 
  sprintf(all,"%s %d",all,sizeof(trame_4F7));
  for(int i = 0; i < sizeof(trame_4F7); i++)
  {
    sprintf(tmp,"%2x",trame_4F7[i]); // en hexa
    sprintf(res,"%s|0x%s",res,tmp); // concatene
  }
      sprintf(all,"%s %s",all,res); // on concat les 2 chaines pour faire le resultat
      ECR.print(String(all),LEFT,40); // et on affiche

  /***********************************************************/
  /*                           428                           */
  /***********************************************************/
  memset(all,'\0',sizeof(all)); // met le tableau afficher a la fin a \0
  memset(res,'\0',sizeof(res));
  memset(tmp,'\0',sizeof(tmp));
  
  sprintf(all,"0x428"); 
  sprintf(all,"%s %d",all,sizeof(trame_428));
  for(int i = 0; i < sizeof(trame_428); i++)
  {
    sprintf(tmp,"%2x",trame_428[i]); // en hexa
    sprintf(res,"%s|0x%s",res,tmp); // concatene
  }
      sprintf(all,"%s %s",all,res); // on concat les 2 chaines pour faire le resultat
      ECR.print(String(all),LEFT,70); // et on affiche

  /***********************************************************/
  /*                           42F                           */
  /***********************************************************/
  memset(all,'\0',sizeof(all)); // met le tableau afficher a la fin a \0
  memset(res,'\0',sizeof(res));
  memset(tmp,'\0',sizeof(tmp));
  
  sprintf(all,"0x42F"); 
  sprintf(all,"%s %d",all,sizeof(trame_42F));
  for(int i = 0; i < sizeof(trame_42F); i++)
  {
    sprintf(tmp,"%2x",trame_42F[i]); // en hexa
    sprintf(res,"%s|0x%s",res,tmp); // concatene
  }
      sprintf(all,"%s %s",all,res); // on concat les 2 chaines pour faire le resultat
      ECR.print(String(all),LEFT,100); // et on affiche
      
  /***********************************************************/
  /*                           155                           */
  /***********************************************************/
  memset(all,'\0',sizeof(all)); // met le tableau afficher a la fin a \0
  memset(res,'\0',sizeof(res));
  memset(tmp,'\0',sizeof(tmp));
  
  sprintf(all,"0x155"); 
  sprintf(all,"%s %d",all,sizeof(trame_155));
  for(int i = 0; i < sizeof(trame_155); i++)
  {
    sprintf(tmp,"%2x",trame_155[i]); // en hexa
    sprintf(res,"%s|0x%s",res,tmp); // concatene
  }
      sprintf(all,"%s %s",all,res); // on concat les 2 chaines pour faire le resultat
      ECR.print(String(all),LEFT,130); // et on affiche

  /***********************************************************/
  /*                           423                           */
  /***********************************************************/
  memset(all,'\0',sizeof(all)); // met le tableau afficher a la fin a \0
  memset(res,'\0',sizeof(res));
  memset(tmp,'\0',sizeof(tmp));
  
  sprintf(all,"0x423"); 
  sprintf(all,"%s %d",all,sizeof(trame_423));
  for(int i = 0; i < sizeof(trame_423); i++)
  {
    sprintf(tmp,"%2x",trame_423[i]); // en hexa
    sprintf(res,"%s|0x%s",res,tmp); // concatene
  }
      sprintf(all,"%s %s",all,res); // on concat les 2 chaines pour faire le resultat
      ECR.print(String(all),LEFT,160); // et on affiche

  /***********************************************************/
  /*                           157                           */
  /***********************************************************/
  memset(all,'\0',sizeof(all)); // met le tableau afficher a la fin a \0
  memset(res,'\0',sizeof(res));
  memset(tmp,'\0',sizeof(tmp));
  
  sprintf(all,"0x157"); 
  sprintf(all,"%s %d",all,sizeof(trame_157));
  for(int i = 0; i < sizeof(trame_157); i++)
  {
    sprintf(tmp,"%2x",trame_157[i]); // en hexa
    sprintf(res,"%s|0x%s",res,tmp); // concatene
  }
      sprintf(all,"%s %s",all,res); // on concat les 2 chaines pour faire le resultat
      ECR.print(String(all),LEFT,190); // et on affiche
      
  /***********************************************************/
  /*                           435                           */
  /***********************************************************/
  memset(all,'\0',sizeof(all)); // met le tableau afficher a la fin a \0
  memset(res,'\0',sizeof(res));
  memset(tmp,'\0',sizeof(tmp));
  
  sprintf(all,"0x435"); 
  sprintf(all,"%s %d",all,sizeof(trame_435));
  for(int i = 0; i < sizeof(trame_435); i++)
  {
    sprintf(tmp,"%2x",trame_435[i]); // en hexa
    sprintf(res,"%s|0x%s",res,tmp); // concatene
  }
      sprintf(all,"%s %s",all,res); // on concat les 2 chaines pour faire le resultat
      ECR.print(String(all),LEFT,220); // et on affiche
}

void CAN_Ges_received_messages(long unsigned int id_msg)
{
int i;
switch (id_msg)
	{
	case 0x1C7:     
			for(i=0;i<4;i++)	trame_1C7[i] = rxBuf[i];
			break;                                                  
			                                       
	case 0x428:                                     
			for(i=0;i<8;i++)	trame_428[i]=rxBuf[i];
			break;

 	case 0x42F:
			for(i=0;i<2;i++)	trame_42F[i]=rxBuf[i];
			break;

	case 0x4F7:
			for(i=0;i<8;i++)	trame_4F7[i]=rxBuf[i];
			break;

	case 0x435:
			for(i=0;i<8;i++)	trame_435[i]=rxBuf[i];
			break;

	case 0x423:
			for(i=0;i<8;i++)  	trame_423[i]=rxBuf[i];
			break;

	case 0x155:     
			for(i=0;i<8;i++)	trame_155[i]=rxBuf[i];
			break;
	
	case 0x157:                                                           	
                	for(i=0;i<8;i++)     trame_157[i]=rxBuf[i];	
                	break;                                                
	}
}

thanks if you can help me

GrandLCDEtCan.ino (8.38 KB)