MCUXpresso SDK Documentation

lpspi_interrupt_b2b_master

lpspi_interrupt_b2b_master#

Overview#

The lpspi_interrupt_b2b example shows how to use LPSPI driver in interrupt way.

In this example, we need two boards, one board used as LPSPI master and another board used as LPSPI slave. The file ‘lpspi_interrupt_b2b_master.c’ includes the LPSPI master code. This example does not use the transactional API in LPSPI driver.

Note:

  • In case other firmwares (such as bootrom, sm and oei) operating lpspi in master side to mis-trigger slave transfer, please run master first, after master print “Make sure the slave example is running, then press any key to continue”, then run slave and press any key in master side to run.

  • The LPSPI master send/received data to/from LPSPI slave using interrupt (the LPSPI slave is using interrupt to receive/send the data).

Running the demo#

When the demo runs successfully, you will see output in the terminal like this:

LPSPI interrupt board to board (b2b) master example.
This example use one board as master and another as slave.
Please make sure you make the correct line connection. Basically, the connection is:
LPSPI_master -- LPSPI_slave
    CLK      --    CLK
    PCS      --    PCS
    SOUT     --    SIN
    SIN      --    SOUT
    GND      --    GND

Make sure the slave example is running, then press any key to continue.

Master transmit:
     1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 10
    11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
    21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
    31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40

LPSPI transfer all data matched!

Master received:
     1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 10
    11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
    21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
    31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40


Press any key to run again.

Supported Boards#