Getting Started with USB on SAM MCUs Using MPLAB® Harmony v3: Step 3

Last modified by Microchip on 2023/11/09 09:08

Configure Clocks, Pins, and Application Tasks

Configure Clocks

Open the Clock Configuration pane by navigating to MHC > Tools > Clock Configuration.

Open Clock Configuration

Figure 1: Open Clock Configuration

Switch MOSCSEL to Main Crystal.​

Information

Note: USB requires an accurate clock for operation and cannot run on the Main RC oscillator.

Clock Configuration

Figure 2: Clock Configuration

Back to Top


Configure Pins

Open the Pin Configuration pane by navigating to MHC > Tools > Pin Configuration.

Open Pin Configuration

Figure 3: Open Pin Configuration

Order the pins by Ports for ease of use.

Order by Ports

Figure 4: Order by Ports

The LED on the I/O1 Xplained Pro is connected to pin PA0.

  • Set the function to GPIO.

  • Name this pin as "LED".
  • Set the direction to Out.
  • Set the latch to High.

TWIHS pins, PA3 and PA4, need to be set to the correct function.

  • For PA3, set function to TWIHS0_TWD0.
  • For PA4, set function to TWIHS0_TWCK0.
LED and TWIHS Pin Config

Figure 5: LED and TWIHS Pin Config

The LED on the SAM E70 Xplained is connected to pin PC8.

SAM E70 Xplained User LED Schematic

Figure 6: SAM E70 Xplained User LED Schematic

  • Set the function to GPIO.
  • Name this pin as "USB_LED".
  • Set the direction to Out.
  • Set the latch to High.
User LED Config

Figure 7: User LED Config

Information

Note: The LEDs on the SAM E70 Xplained and the I/O1 Xplained Pro are active low, so, they are turned off by default by configuring the latch value to logic High.

Back to Top


Add and Configure Application Tasks

Go to the Project Graph and click on the Core module.

Under Configuration Options, you will find that MHC automatically generates a default application named app. Set the Number of Applications spinbox to 3 and configure each of them as follows:

  • Expand Application 0 Configuration and rename the default application name to "app_sensor".

  • Expand Application 1 Configuration and rename the default application name to "app_eeprom".
  • Expand Application 2 Configuration and rename the default application name to "app_usb".
Configure Application Tasks

Figure 8: Configure Application Tasks

Back to Top