| Overview |
| ======== |
| CMSIS-Driver defines generic peripheral driver interfaces for middleware making it reusable across a wide |
| range of supported microcontroller devices. The API connects microcontroller peripherals with middleware |
| that implements for example communication stacks, file systems, or graphic user interfaces. |
| More information and usage method please refer to http://www.keil.com/pack/doc/cmsis/Driver/html/index.html. |
| |
| The i2c_interrupt_b2b_transfer_master example shows how to use CMSIS i2c driver as master to do board to board transfer |
| with interrupt: |
| |
| In this example, one i2c instance as master and another i2c instance on the other board as slave. 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. Either press the reset button on your board or 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: |
| |
| CMSIS 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 |
| ===================== |
| |