MCUXpresso SDK Documentation

spi_interrupt_master

spi_interrupt_master#

Overview#

The spi_interrupt_master example shows how to use spi functional API to do interrupt transfer as a master:

In this example, the spi instance as master. Master sends a piece of data to slave, receive data from slave, and check if the data master received is correct. This example needs to work with spi_interrupt_slave example.

Supported Boards#

LPC845BREAKOUT
Hardware requirements
  • Micro USB cable

  • Two LPC845 Breakout boards

  • Personal Computer

Board settings

Pin connecting:
Connect SPI master on board to SPI slave on other board

    Master - SPI0                        Slave - SPI0
Pin Name   Board Location            Pin Name   Board Location
MISO       CN1 pin 12 (PIO0_26)      MISO       CN1 pin 12 (PIO0_26)
MOSI       CN1 pin 13 (PIO0_27)      MOSI       CN1 pin 13 (PIO0_27)
SCK        CN1 pin 6  (PIO0_21)      SCK        CN1 pin 6  (PIO0_21)
SSEL0      CN1 pin 5  (PIO0_20)      SSEL0      CN1 pin 5  (PIO0_20)
GND        CN1 pin 20                GND        CN1 pin 20
Prepare the demo
  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port on the board.

  2. Open a serial terminal with the following settings:

    • 9600 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the SPI interrupt master driver example in the terminal window:

This is SPI interrupt functional master example.

Master start to send data to slave, please make sure the slave has been started!

The received data are:
  0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
  0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
  0x20  0x21  0x22  0x23  0x24  0x25  0x26  0x27  0x28  0x29  0x2A  0x2B  0x2C  0x2D  0x2E  0x2F
  0x30  0x31  0x32  0x33  0x34  0x35  0x36  0x37  0x38  0x39  0x3A  0x3B  0x3C  0x3D  0x3E  0x3F
Master transfer succeed!

LPCXpresso802
Hardware requirements
  • Mini/micro USB cable

  • Two LPCXpresso802 boards

  • Personal Computer

Board settings

Run with: system_clk = 30 MHz. SPI0CLK = 30 MHz.

Pin connecting:
Connect SPI master on board to SPI slave on other board

    Master - SPI0                  Slave - SPI0   
Pin Name   Board Location      Pin Name   Board Location            
MISO       CN3 pin 19          MISO       CN3 pin 19
MOSI       CN3 pin 21          MOSI       CN3 pin 21
SCK        CN3 pin 15          SCK        CN3 pin 15                
SSEL0      CN3 pin 22          SSEL0      CN3 pin 22
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port on the board

  2. Open a serial terminal with the following settings:

    • 9600 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:

This is SPI interrupt functional master example.

Master start to send data to slave, please make sure the slave has been started!

The received data are:
  0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
  0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
  0x20  0x21  0x22  0x23  0x24  0x25  0x26  0x27  0x28  0x29  0x2A  0x2B  0x2C  0x2D  0x2E  0x2F
  0x30  0x31  0x32  0x33  0x34  0x35  0x36  0x37  0x38  0x39  0x3A  0x3B  0x3C  0x3D  0x3E  0x3F
Master transfer succeed!

LPCXpresso804
Hardware requirements
  • Mini/micro USB cable

  • Two LPCXpresso804 boards

  • Personal Computer

Board settings

Run with: system_clk = 30 MHz. SPI0CLK = 30 MHz.

Pin connecting:
Connect SPI master on board to SPI slave on other board

    Master - SPI0                  Slave - SPI0   
Pin Name   Board Location      Pin Name   Board Location
MISO       CAN8 pin 2            MISO       CAN8 pin 2
MOSI       CAN3 pin 10           MOSI       CAN3 pin 10
SCK        CAN3 pin 9            SCK        CAN3 pin 9
SSEL0      CAN8 pin 5            SSEL0      CAN8 pin 5
GND        CAN3 pin 4            GND        CAN3 pin 4
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port on the board

  2. Open a serial terminal with the following settings:

    • 9600 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:

This is SPI interrupt functional master example.

Master start to send data to slave, please make sure the slave has been started!

The received data are:
  0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
  0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
  0x20  0x21  0x22  0x23  0x24  0x25  0x26  0x27  0x28  0x29  0x2A  0x2B  0x2C  0x2D  0x2E  0x2F
  0x30  0x31  0x32  0x33  0x34  0x35  0x36  0x37  0x38  0x39  0x3A  0x3B  0x3C  0x3D  0x3E  0x3F
Master transfer succeed!

LPCXpresso824MAX
Hardware requirements
  • Mini/micro USB cable

  • Two LPCXpresso824MAX boards

  • Personal Computer

Board settings

Run with: system_clk = 30 MHz. SPI0CLK = 30 MHz.

Pin connecting:
Connect SPI master on board to SPI slave on other board

    Master - SPI0                  Slave - SPI0   
Pin Name   Board Location      Pin Name   Board Location            
MISO       J1 pin 6            MISO       J1 pin 6                     
MOSI       J1 pin 7            MOSI       J1 pin 7                
SCK        J1 pin 5            SCK        J1 pin 5                 
SSEL0      J1 pin 8            SSEL0      J1 pin 8
GND        J1 pin 4            GND        J1 pin 4
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port on the board

  2. Open a serial terminal with the following settings:

    • 9600 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:

This is SPI interrupt functional master example.

Master start to send data to slave, please make sure the slave has been started!

The received data are:
  0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
  0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
  0x20  0x21  0x22  0x23  0x24  0x25  0x26  0x27  0x28  0x29  0x2A  0x2B  0x2C  0x2D  0x2E  0x2F
  0x30  0x31  0x32  0x33  0x34  0x35  0x36  0x37  0x38  0x39  0x3A  0x3B  0x3C  0x3D  0x3E  0x3F
Master transfer succeed!

LPCXpresso845MAX
Hardware requirements
  • Mini/micro USB cable

  • Two LPCXpresso845MAX boards

  • Personal Computer

Board settings

Run with: system_clk = 30 MHz. SPI0CLK = 30 MHz.

Pin connecting:
Connect SPI master on board to SPI slave on other board

    Master - SPI0                  Slave - SPI0   
Pin Name   Board Location      Pin Name   Board Location            
MISO       J2 pin 6            MISO       J2 pin 6                     
MOSI       J2 pin 7            MOSI       J2 pin 7                
SCK        J2 pin 5            SCK        J2 pin 5                 
SSEL0      J2 pin 8            SSEL0      J2 pin 8
GND        J1 pin 4            GND        J1 pin 4
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port on the board

  2. Open a serial terminal with the following settings:

    • 9600 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:

This is SPI interrupt functional master example.

Master start to send data to slave, please make sure the slave has been started!

The received data are:
  0x00  0x01  0x02  0x03  0x04  0x05  0x06  0x07  0x08  0x09  0x0A  0x0B  0x0C  0x0D  0x0E  0x0F
  0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
  0x20  0x21  0x22  0x23  0x24  0x25  0x26  0x27  0x28  0x29  0x2A  0x2B  0x2C  0x2D  0x2E  0x2F
  0x30  0x31  0x32  0x33  0x34  0x35  0x36  0x37  0x38  0x39  0x3A  0x3B  0x3C  0x3D  0x3E  0x3F
Master transfer succeed!

LPCXpresso860MAX
Hardware requirements
  • Micro USB cable

  • Two LPCXpresso860MAX boards

  • Personal Computer

Board settings

Pin connecting:
Connect SPI master on board to SPI slave on other board

    Master - SPI0                  Slave - SPI0   
Pin Name   Board Location      Pin Name   Board Location            
MISO       J1 pin 10           MISO       J1 pin 10                     
MOSI       J1 pin 8            MOSI       J1 pin 8                
SCK        J1 pin 12           SCK        J1 pin 12                 
SSEL0      J1 pin 6            SSEL0      J1 pin 6
GND        J1 pin 14           GND        J1 pin 14
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port on the board

  2. Open a serial terminal with the following settings:

    • 9600 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:

This is SPI interrupt functional master example.

Master start to send data to slave, please make sure the slave has been started!

The received data are:
  0x 0  0x 1  0x 2  0x 3  0x 4  0x 5  0x 6  0x 7  0x 8  0x 9  0x A  0x B  0x C  0x D  0x E  0x F
  0x10  0x11  0x12  0x13  0x14  0x15  0x16  0x17  0x18  0x19  0x1A  0x1B  0x1C  0x1D  0x1E  0x1F
  0x20  0x21  0x22  0x23  0x24  0x25  0x26  0x27  0x28  0x29  0x2A  0x2B  0x2C  0x2D  0x2E  0x2F
  0x30  0x31  0x32  0x33  0x34  0x35  0x36  0x37  0x38  0x39  0x3A  0x3B  0x3C  0x3D  0x3E  0x3F
Master transfer succeed!