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.
Toolchain supported
IAR embedded Workbench 9.30.1
MCUXpresso 11.6.0
Hardware requirements
Mini/micro USB cable
MCX-N9xx-EVK board
Personal Computer
Board settings
To make the example work, connections needed to be as follows: Jumper setting:
MASTER(LPI2C2) connect to SLAVE(LPI2C2)
Pin Name Board Location Pin Name Board Location
SCL J2 pin 20 SCL J2 pin 20
SDA J2 pin 18 SDA J2 pin 18
GND J2 pin 14 GND J2 pin 14
Other jumpers keep default configuration.
Prepare the Demo
Connect the micro and mini USB cable between the PC host and the USB ports on the board.
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
Download the program to the target board.
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 .