blob: eb4adea8628049522b24fac87cf052c9dd84e9e4 [file] [log] [blame]
Overview
========
The i2c_interrupt_b2b_transfer_slave example shows how to use i2c driver as slave to do board to board transfer
with interrupt:
In this example, one i2c instance as slave and another i2c 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.
Toolchain supported
===================
- IAR embedded Workbench 8.50.1
- GCC ARM Embedded 9.2.1
Hardware requirements
=====================
- Micro USB cable
- MIMX8MQ6-EVK board
- J-Link Debug Probe
- 12V power supply
- Personal Computer
Board settings
==============
I2C one board:
+ Transfer data from SLAVE_BOARD to MASTER_BOARD of I2C interface, I2C2 pins of SLAVE_BOARD are connected with
I2C2 pins of MASTER_BOARD
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SLAVE_BOARD CONNECTS TO MASTER_BOARD
Pin Name Board Location Pin Name Board Location
I2C2_SCL J801-1 I2C2_SCL J801-1
I2C2_SDA J801-3 I2C2_SDA J801-3
GND J801-2 GND J801-2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Prepare the Demo
================
1. Connect 12V power supply and J-Link Debug Probe to the board, switch SW701 to power on the board
2. Connect a USB cable between the host PC and the J1701 USB port on the target board.
3. Open a serial terminal with the following settings:
- 115200 baud rate
- 8 data bits
- No parity
- One stop bit
- No flow control
4. Download the program to the target board.
5. Launch the debugger in your IDE to begin running the demo.
Running the demo
================
When the demo runs successfully, the following message is displayed in the terminal:
I2C board2board interrupt 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 I2C example .
Customization options
=====================