HI guys ,
I am us After long research I found out that the Micro Arduino board (Or lenardo) uses A virtual Com Port as it says in the arduinoWebsite.
However, because the serial port is virtual, it disappears when the board resets, the Arduino software uses a different strategy for timing the upload than with the Uno and other boards. In particular, after initiating the auto-reset of the Leonardo, Leonardo ETH or Micro (using the serial port selected in the Tools > Serial Port menu), the Arduino software waits for a new virtual (CDC) serial / COM port to appear - one that it assumes represents the bootloader. It then performs the upload on this newly-appeared port.
Since the Micro is a microcontroller board based on the ATmega32U4 ,Then I went and looked up the datasheet and I found that the ATmega32u4 has Six Programmable Endpoints with IN or Out Directions and with Bulk, Interrupt or Isochronous Transfers
and from the data sheet looks like it can be configure to be just like a regular USB ,where you can communicate with the endpoints and read dataout and data in.MY question now
How can I configure my Arduino board as A usb device not as a virtual serial port ?