Overview

The lpi2c_edma_b2b_transfer_slave example shows how to use lpi2c driver as slave to do board to board transfer with a EDMA master:

In this example, one lpi2c instance as slave and another lpi2c instance on the other board as master. Master sends a piece of data to slave, and receive a piece of data from slave. This example checks if the data received from slave is correct. LPI2C slave works as supporting board to help demonstrate master EDMA trasnfer, actually uses interrupt way. Hardware requirements

  • Type-C USB cable

  • FRDM-MCXA156 board

  • Personal Computer

Board settings

        MASTER(LPI2C0)           connect to        SLAVE(LPI2C3)
        LPI2C0 SCL(P0_17,J2-20)     -->          LPI2C3 SCL(P3_27,J5_5)
        LPI2C0 SDA(P0_16,J2-18)     -->          LPI2C3 SDA(P3_28,J5_6)

Other jumpers keep default configuration.

Prepare the Demo

  1. Connect a USB Type-C cable between the host PC and the MCU-Link USB port on the target board.

  2. Open a serial terminal on PC for the serial device with these settings:

    • 115200 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 following lines are printed to the serial terminal when the demo program is executed.

LPI2C board2board EDMA example -- Slave transfer.

Slave received data :
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


End of LPI2C example .