char Readbuff[64]; // On défini les 2 variables char WriteBuff[64]; // variables Read et Write unsigned char iBuffer; unsigned char ReadPortbuttons; void init() // Initialisation du Mini-32 { TRISE = 0x00; // On configure le PORTE comme des sorties PORTE = 0; // On met à zéro les sortie du PORTE LATE = 0; // On met les broches du PORTE à l'état logique 0 (niveau bas) AD1PCFG = 0xFFFF; // Initialise les broches en numérique ou digital EnableInterrupts(); // Activations des interruptions IVT USBIP0_bit = 1; // | USBIP1_bit = 1; // | Réglage des interruptions USB sur priorité 7 USBIP2_bit = 1; // | USBIE_bit = 1; // On active le module d'interruption de l'USB HID_Enable(&ReadBuff,&WriteBuff); } void USB_Interruptions() // Nom du programme de l’interruption iv IVT_USB_1 // Interruption Vecteur ilevel 7 // priorité niveau 7 { USB_Interrupt_Proc(); // USB servicing is done inside the interrupt USBIF_bit = 0; // On remet le drapeau à zéro lorsque 'interruption s'est terminé } void main() // Programme principal { init(); while(1) { while(!HID_Read()); for (iBuffer = 0; iBuffer < 63; iBuffer++) PORTE = ReadBuff[iBuffer]; // Lecture du Buffer } }