How do you use the native USB port?

I am trying to figure out how to use the native port in an Arduino Zero to send commands to my program via USB. I have used an Uno before, and know how to use the programming port. Trying to see if if makes more sense to add a USB shield to the Uno or to buy a Zero and just use its native port. But I haven't found squat for help on the Zero. Also, since I will be using Studio 7, not Sketch, do I need to include all the SAMD21 core Arduino code in the project, or can I assume it's already there?

It is very easy to use Arduino Zero USB native port: SerialUSB library, as stated in the hardware description web page,

You have here an example: Data loss when sending to native USB port (SerialUSB) - Arduino Due - Arduino Forum

You can use Atmel Studio 7, but do you mean using processing or pure C Language?, anyway you can find examples in the Atmel studio IDE of both situations.

Now is very easy to use "Processing" in Atmel Studio, you only need a #include <arduino.h> in your code, the library is already availble in Atmel Studio 7, so you don't need to take any extra step, like in old versions of Atmel Studio.

I would like to be more precise, I went through the same process: moving from arduino IDE to Atmel studio, in order to take advantage of the debugging functionalities, but I have not used it in last 3 months.

good luck!

Since you are using Atmel Studio, there should be USB host code in ASF. I think the Arduino USB host code includes code from ASF.

I have experimented with the Arduino Zero native port in USB host mode. There is not much support for it aside from the 4 examples (keyboard, mouse, ADK, descriptor dump) included. If you install the IDE and SAMD board support, you can see the examples. The keyboard example has a 10 delay which makes it hard to use with other device. I ported a USB host shield class driver (USBH_MIDI) to Zero but it has a number of unresolved problems.

I submitted a PR to fix the 10 second delay.