73 lines
2.6 KiB
Plaintext
73 lines
2.6 KiB
Plaintext
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 9.20.2
|
|
- Keil MDK 5.36
|
|
- GCC ARM Embedded 10.3.1
|
|
- MCUXpresso 11.5.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 interrupt example -- Master transfer.
|
|
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
|
|
|
|
Receive sent data from slave :
|
|
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 .
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|