• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..13-Nov-2021-

src/13-Nov-2021-

readme.dox A D13-Nov-20213.9 KiB8077

readme.dox

1/*
2 * @brief I2CS bus slave example using interrupt mode
3 *
4 * @note
5 * Copyright(C) NXP Semiconductors, 2014
6 * All rights reserved.
7 *
8 * @par
9 * Software that is described herein is for illustrative purposes only
10 * which provides customers with programming information regarding the
11 * LPC products.  This software is supplied "AS IS" without any warranties of
12 * any kind, and NXP Semiconductors and its licensor disclaim any and
13 * all warranties, express or implied, including all implied warranties of
14 * merchantability, fitness for a particular purpose and non-infringement of
15 * intellectual property rights.  NXP Semiconductors assumes no responsibility
16 * or liability for the use of the software, conveys no license or rights under any
17 * patent, copyright, mask work right, or any other intellectual property rights in
18 * or to any products. NXP Semiconductors reserves the right to make changes
19 * in the software without notification. NXP Semiconductors also makes no
20 * representation or warranty that such application will be suitable for the
21 * specified use without further testing or modification.
22 *
23 * @par
24 * Permission to use, copy, modify, and distribute this software and its
25 * documentation is hereby granted, under NXP Semiconductors' and its
26 * licensor's relevant copyrights in the software, without fee, provided that it
27 * is used in conjunction with NXP Semiconductors microcontrollers.  This
28 * copyright, permission, and disclaimer notice must appear in all copies of
29 * this code.
30 */
31
32/** @defgroup EXAMPLES_PERIPH_15XX_I2CSINT LPC15xx I2CS bus slave example using interrupts
33 * @ingroup EXAMPLES_PERIPH_15XX
34 * <b>Example description</b><br>
35 * This example shows how to configure I2C as a bus slave in interrupt mode using
36 * the I2CS driver.<br>
37 *
38 * This example provides 2 simple (emulated) EEPROMs at different I2C slave
39 * addresses. Both are on the same I2C bus, but the slave controller will be
40 * configured to support 2 slave addresses on the single bus. The emulated
41 * EEPROMs have their memory locations set and read via I2C write and read
42 * operations. Operations can be as little as a byte or continuous until the
43 * master terminates the transfer. The following operations are supported:<br>
44 * - <START> <ADDR><W> Write 16-bit address <STOP><br>
45 * - <START> <ADDR><W> Write 16-bit address <REPEAT START><R> READ READ ... READ <STOP> (unbound read)<br>
46 * - <START> <ADDR><W> Write 16-bit address WRITE WRITE ... WRITE <STOP> (unbound write)<br>
47 * - <START> <ADDR><R> READ READ ... READ <STOP> (unbound read)<br>
48 * Note: Slave address is 0x28.<br>
49 *
50 * Unbound read oeprations have no limit on size and will go as long as the master
51 * requests or sends data. If the end of emulated EEPROM is reached, the EEPROM address
52 * will wrap. All reads and write operations auto-increment. Read operations without a
53 * 16-bit address will use the last incremented address.<br>
54 *
55 * The I2C slave processing is handled entirely in the I2C slave interrupt handler.
56 * This example doesn't use the Chip_I2CS_Xfer() function and implements the slave
57 * support inside the I2C interrupt handler in real-time.<br>
58 *
59 * The example also provides the master interface on the same I2C bus as the slave
60 * to communicate the the emulated EEPROMs without requiring an external I2C master.<br>
61 *
62 * <b>Special connection requirements</b><br>
63 * No special requirements are needed for this example.<br>
64 *
65 * <b>Build procedures:</b><br>
66 * Visit the <a href="http://www.lpcware.com/content/project/lpcopen-platform-nxp-lpc-microcontrollers/lpcopen-v200-quickstart-guides">LPCOpen quickstart guides</a>
67 * to get started building LPCOpen projects.
68 *
69 * <b>Supported boards and board setup:</b><br>
70 * @ref LPCOPEN_15XX_BOARD_LPCXPRESSO_1549<br>
71 *
72 * <b>Submitting LPCOpen issues:</b><br>
73 * @ref LPCOPEN_COMMUNITY
74 * @{
75 */
76
77/**
78 * @}
79 */
80