/*
 * @brief SSP example
 * This example show how to use the SSP in 3 modes : Polling, Interrupt and DMA
 *
 * @note
 * Copyright(C) NXP Semiconductors, 2013
 * All rights reserved.
 *
 * @par
 * Software that is described herein is for illustrative purposes only
 * which provides customers with programming information regarding the
 * LPC products.  This software is supplied "AS IS" without any warranties of
 * any kind, and NXP Semiconductors and its licensor disclaim any and
 * all warranties, express or implied, including all implied warranties of
 * merchantability, fitness for a particular purpose and non-infringement of
 * intellectual property rights.  NXP Semiconductors assumes no responsibility
 * or liability for the use of the software, conveys no license or rights under any
 * patent, copyright, mask work right, or any other intellectual property rights in
 * or to any products. NXP Semiconductors reserves the right to make changes
 * in the software without notification. NXP Semiconductors also makes no
 * representation or warranty that such application will be suitable for the
 * specified use without further testing or modification.
 *
 * @par
 * Permission to use, copy, modify, and distribute this software and its
 * documentation is hereby granted, under NXP Semiconductors' and its
 * licensor's relevant copyrights in the software, without fee, provided that it
 * is used in conjunction with NXP Semiconductors microcontrollers.  This
 * copyright, permission, and disclaimer notice must appear in all copies of
 * this code.
 */

/** @defgroup EXAMPLES_PERIPH_18XX43XX_SSP LPC18xx/43xx SSP/SPI example
 * @ingroup EXAMPLES_PERIPH_18XX43XX
 * <b>Example description</b><br>
 * This example describes how to use SSP in POLLING, INTERRUPT or DMA mode.
 * It is needed to connect 2 hardware boards, one for Master and one for Slave.<br>
 *
 *      SSP configuration:<br>
 *          - CPHA = 0: data is sampled on the first clock edge of SCK.<br>
 *          - CPOL = 0: SCK is active high.<br>
 *          - Sample rate = 400kHz.<br>
 *          - DSS = 8: 8 bits per transfer.<br>
 *          - FRF= 0: SPI Frame format.<br>
 *      After initialize transmit buffer, SPI master/slave will transfer a number of bytes
 *      to SPI slave/master and receive data concurrently.<br>
 *      After a transfer completed, receive and transmit buffer will be compared and
 *      the result will be print out via UART port.<br>
 *      This example supports 3 transfer modes: POLLING mode, INTERRUPT mode and DMA mode.<br>
 *
 *  - Connect UART port on the master board and slave board to COM ports on your PC.<br>
 *  - Configure terminal program on the PC per the above Serial display configuration<br>
 *  - Configure hardware, connect master board and slave board as below<br>
 *  - Build and run the example. Following guidance on terminals of master and slave to do test.<br>
 *
 * <b>Special connection requirements</b><br>
 *  - Hitex A4 LPC1850 and LPC4350 boards<br>
 *    - PF_0 : X16 pin 43 - SCK0 master(slave) - connect to SCK slave(master) board <br>
 *    - PF_1 : X16 pin 46 - SEL0 master(slave) - connect to SEL slave(master) board<br>
 *    - PF_2 : X16 pin 45 - MISO0 master(slave) - connect to MISO slave(master) board<br>
 *    - PF_3 : X16 pin 44 - MOSI0 master(slave) - connect to MOSI slave(master) board<br>
 *  - Keil MCB1857 and MCB4357 boards<br>
 *    - PF_4 - SCK1  master(slave) - connect to SCK slave(master) board<br>
 *    - PF_5 - SSEL1  master(slave) - connect to SEL slave(master) board<br>
 *    - PF_6 - MISO1  master(slave) - connect to MISO slave(master) board<br>
 *    - PF_7 - MOSI1  master(slave) - connect to MOSI slave(master) board<br>
 *  - NGX Xplorer 1830 and 4330 boards<br>
 *    - CLK0 : J8 pin 7 - SCK1 master(slave) - connect to SCK slave(master) board <br>
 *    - P1_2 : J8 pin 8 - SSEL1 master(slave) - connect to SEL slave(master) board<br>
 *    - P1_3 : J8 pin 6 - MISO1  master(slave) - connect to MISO slave(master) board<br>
 *    - P1_4 : J8 pin 5 - MOSI1  master(slave) - connect to MOSI slave(master) board<br>
 *
 * Notes : <br>
 *  - Common ground must be connected together between two boards.<br>
 *  - The application default mode is Master mode. Press '1' on main menu to change Slave mode<br>
 *
 * <b>Build procedures:</b><br>
 * Visit the <a href="http://www.lpcware.com/content/project/lpcopen-platform-nxp-lpc-microcontrollers/lpcopen-v200-quickstart-guides">LPCOpen quickstart guides</a>
 * to get started building LPCOpen projects.
 *
 * <b>Supported boards and board setup:</b><br>
 * @ref LPCOPEN_18XX_BOARD_HITEX1850<br>
 * @ref LPCOPEN_43XX_BOARD_HITEX4350<br>
 * @ref LPCOPEN_18XX_BOARD_KEIL1857<br>
 * @ref LPCOPEN_43XX_BOARD_KEIL4357<br>
 * @ref LPCOPEN_18XX_BOARD_NGX1830<br>
 * @ref LPCOPEN_43XX_BOARD_NGX4330<br>
 *
 * <b>Submitting LPCOpen issues:</b><br>
 * @ref LPCOPEN_COMMUNITY
 * @{
 */

/**
 * @}
 */
