program MikroPascal; var ReadBuff : array[64] of char; WriteBuff : array[64] of char; iBuffer : char; ReadPortbuttons : char; procedure init(); // Initialisation du Mini-32 begin 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); end; procedure USB_Interruptions(); // Nom du programme de l’interruption iv IVT_USB_1; // Interruption Vecteur ilevel 7; // priorité niveau 7 begin USB_Interrupt_Proc(); // USB servicing is done inside the interrupt USBIF_bit := 0; // On remet le drapeau à zéro lorsque 'interruption s'est terminé end; begin // Programme principal init(); while true do begin while(HID_Read() = 0) do begin for iBuffer := 0 to 63 do begin PORTE := ReadBuff[iBuffer]; // Lecture du Buffer end; end ; end; end.