Jump to main content

# 1.11 SPI Driver Asynchronous - Multi Instance

This example demonstrates how to use multiple instances of the SPI driver in Asynchronous mode to communicate with multiple EEPROMs.

## Description

This example writes and reads data to and from two separate EEPROMs connected over two different SPI buses by using multi-instance feature of the driver. The example also demonstrates how to setup two different EEPROM transfers at different baud rates.

## Downloading and Building the Application

To clone or download this application from GitHub, go to the main page of this repository and then click Clone button to clone this repository or download as zip file. This content can also be downloaded using content manager by following these instructions.

Path of the application within the repository is apps/driver/spi/async/spi_multi_instance/firmware.

To build the application, refer to the following table and open the project using its IDE.

Project Name | Description
--- | ---
pic32mk_mcm_curiosity_pro.X | MPLAB X project for PIC32MK MCM Curiosity Pro Development Board

## Setting Up the Hardware

The following table shows the target hardware for the application projects.

Project Name | Description
--- | ---
pic32mk_mcm_curiosity_pro.X | PIC32MK MCM Curiosity Pro Development Board

### Setting Up PIC32MK MCM Curiosity Pro Development Board

- To run the demo, the following additional hardware is required:
  - Two EEPROM 4 Click boards
- Connect a micro USB cable to the USB DEBUG port J500
- Install two EEPROM 4 Click boards onto the two mikroBUS sockets (J300 and J301) of PIC32MK MCM Curiosity Pro Development Board

## Running the Application

1. Build and program the application using its IDE.
2. The LED is turned ON when the data read from the EEPROMs matches with the data written to the EEPROMs.

Refer to the following table for LED name:

Board | LED Name
--- | ---
PIC32MK MCM Curiosity Pro Development Board | LED1

Rev: D