UTFT_tinyFAT comment pouvoir arrêter le chargement image en cours

Bonjour, je cherche une solution j’utilise un Arduino uno en maitre qui envoie avec la liaison série I2C
des informations à l’esclave qui est méga 2560 sont rôle d’afficher des images et autres informations
Sur l esclave 2560 : a l étape demandé le souci c’est tant que l’image ne ce n’est pas complètement chargé je reste à cette étape
Alors que je souhaite passer à l’étape suivante même si l’image n’est pas complètement affichée
Comment faire
Le maitre uno lui continu sans retard ce qui est très bien la raison des 2 cartes

Voici le code de l’esclave simplifier

// Je suis l esclave afficheur

 #include <Wire.h> // Envoi des données sur le bus i2c 


#include <UTFT.h>

   UTFT myGLCD(CPLD, 38,39,40,41);//Pour ecran 5" avec MD070SD 



// Déclarons les polices que nous utiliserons ////////////////
   extern uint8_t SmallFont[];
   extern uint8_t Ubuntu[];       //24x32 pixels 95 Caractères
   

/////// Librairie pour afficher  images sur  écran  /////////////////
   #include <UTFT_tinyFAT.h>
   UTFT_tinyFAT FichierImage(&myGLCD);
   
   int affichage0 = 0; // Pour afficher l image qu une seul fois
   int affichage1 = 0;
   int affichage2 = 0;
   int affichage3 = 0;

/////////////////////////////////////////////////////////////////////

/////// Librairie pour touches tactile ////////////////////////////// 
   #include <UTFT_tinyFAT.h>
   UTFT_tinyFAT myFiles(&myGLCD);
   
   #include <UTouch.h>
   UTouch  myTouch( 6, 5, 4, 3, 2);
   int x; int y; int x1; int y1;
///////////////////////////////////////////////////////////////////
 int etape ='a';
 


void setup(){

/////// Communication serie I2C ///////////////////////////////////  
 Wire.begin(8);             // L adresse de cet esclave est #8
 Wire.onReceive(reception); // Preparer une fonction spécifique a la reception de donnee
 Wire.onRequest(requete);   // Fonction traitant une demande de données (demandé par le maitre)

/////// Setup image LCD ///////////////////////////////
   file.initFAT();
   randomSeed(analogRead(0));
   myGLCD.clrScr (); // Efface l'écran
  // FichierImage.loadBitmap(0, 0, 800, 480, "princ1.RAW");
  
////// Setup TFT LCD 800x480 5" /////////////////////////
  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);
  myGLCD.setFont(Ubuntu);//
  
///// setup tactil //////////////////////////////////// 
  myTouch.InitTouch();
  myTouch.setPrecision(PREC_MEDIUM);


}

void loop() {
  if (etape =='a'){  if (affichage0 == 0) {
     myGLCD.clrScr (); // Efface l'écran
      FichierImage.loadBitmap(0,0, 480, 320, "PIC703.RAW");//Image chat 320x240
     (affichage0 = 1); affichage1 = 0; 
   }}
  // Ici meme si l image n est pas fini de charger je veux passer a l etape b 
  if (etape =='b'){  if (affichage1 == 0){ 
     myGLCD.clrScr (); // Efface l'écran
     FichierImage.loadBitmap(480,0, 320, 240, "PIC303.RAW");//Image chat 320x240
     affichage1 = 1; affichage0 = 0;
     }}
  } 


//////////////////////////////////////////////////////////////////////////////////////////////
void reception(int nombreoctet){ // Fonction qui s execute si quelque chose est present sur l interface
  
char c = Wire.read(); //Recevoir une lettre

  if (c == 'a') { etape='a';} 
  if (c == 'b') { etape='b';}
   
    }  

//////////////////////////////////////////////////////////////////////////////////////////////
  // Fonction qui est exécutée lorsque le maître du bus I2C
  // réclame des données à l'esclave 
 void requete( ) {
  // Pour recevoir des infos de l escale afficheur
   }

Pas de réponse?