MCUXpresso_MIMXRT1052xxxxB/boards/evkbimxrt1050/azure_rtos_examples/i2c_example
Yilin Sun 6baf4427ce
Updated to v2.15.000
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-03-18 23:15:10 +08:00
..
armgcc Updated to v2.15.000 2024-03-18 23:15:10 +08:00
board.c Updated to v2.15.000 2024-03-18 23:15:10 +08:00
board.h Updated to v2.15.000 2024-03-18 23:15:10 +08:00
board_setup.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
board_setup.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
clock_config.c Update SDK to v2.13.0 2023-01-26 09:35:56 +08:00
clock_config.h Update SDK to v2.13.0 2023-01-26 09:35:56 +08:00
dcd.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
dcd.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
i2c_example.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
i2c_example_v3_14.xml Updated to v2.15.000 2024-03-18 23:15:10 +08:00
pin_mux.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
pin_mux.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
readme.md Updated to v2.15.000 2024-03-18 23:15:10 +08:00
tx_i2c.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
tx_lpi2c_master.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
tx_lpi2c_slave.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
tx_user.h Updated to v2.14.0 2023-11-30 20:55:00 +08:00

readme.md

Overview

The I2C example shows an application using Azure RTOS threads with the I2C driver:

Two I2C instances of a single board are used. One I2C instance is used as I2C master and another I2C instance is used as I2C slave.

Two threads are created. The first thread is associated with I2C master operation and the second thread deals with I2C slave operation.

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

  • Mini/micro USB cable
  • EVKB-IMXRT1050 board
  • Personal Computer

Board settings

To make the example work, connections needed to be as follows:

LPI2C1 SCL(GPIO_AD_B1_00, J23-6)    -->    LPI2C3 SCL(GPIO_AD_B1_07, J22-1)
LPI2C1 SDA(GPIO_AD_B1_01, J23-5)    -->    LPI2C3 SDA(GPIO_AD_B1_06, J22-2)

Prepare the Demo

  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
  2. Open a serial terminal with the following 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

When the example runs successfully, the output is:

Start i2c_example

Master will send 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

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

OK. Data is matched.