MCUXpresso_LPC55S69/boards/lpcxpresso55s69/cmsis_driver_examples/i2c/dma_b2b_transfer/slave/cm33_core0
Yilin Sun 6e8d03ec0a Updated to SDK v2.15.000
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-04-12 21:21:49 +08:00
..
armgcc Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
board.c Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
board.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
clock_config.c Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
clock_config.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
cmsis_i2c_dma_b2b_transfer_slave_v3_14.xml Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
cmsis_i2c_dma_b2b_transfer_slave.c Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
pin_mux.c Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
pin_mux.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00
readme.md Updated to SDK v2.15.000 2024-04-12 21:21:49 +08:00
RTE_Device.h Stock SDK v2.11.0 2022-04-08 22:42:47 +08:00

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 cmsis_i2c_dma_b2b_transfer_slave example shows how to use i2c driver as slave to do board to board transfer with a DMA master:

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.

SDK version

  • Version: 2.15.000

Toolchain supported

  • IAR embedded Workbench 9.40.1
  • Keil MDK 5.38.1
  • GCC ARM Embedded 12.2
  • MCUXpresso 11.8.0

Hardware requirements

  • Micro USB cable
  • Two LPCXpresso55S69 boards
  • Personal Computer

Board settings

MASTER_BOARD        CONNECTS TO         SLAVE_BOARD
Pin Name   Board Location     Pin Name   Board Location
I2C_SCL    P17-1              I2C_SCL    P17-1
I2C_SDA    P17-3              I2C_SDA    P17-3
GND        P17-7              GND        P17-7   

Prepare the Demo

Note: MCUXpresso IDE project default debug console is semihost

  1. Connect a micro USB cable between the PC host and the LPC-Link USB port (P6) on the board.
  2. Open a serial terminal on PC for JLink 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 message shows in the terminal if the example runs successfully.

CMSIS I2C board2board DMA 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 .