 ******************** (C) COPYRIGHT 2010 NXPSemiconductors *******************
 * @file    UART\RS485_slave\abstract.txt 
 * @author  NXP MCU SW Application Team
 * @version 2.0
 * @date    
 * @brief   Description of the RS485_Slave example.
 ******************************************************************************
 * Software that is described herein is for illustrative purposes only
 * which provides customers with programming information regarding the
 * products. This software is supplied "AS IS" without any warranties.
 * NXP Semiconductors assumes no responsibility or liability for the
 * use of the software, conveys no license or title under any patent,
 * copyright, or mask work right to the product. NXP Semiconductors
 * reserves the right to make changes in the software without
 * notification. NXP Semiconductors also make no representation or
 * warranty that such application will be suitable for the specified
 * use without further testing or modification.
 ******************************************************************************
  
@Example description:
	Purpose:
		This example describes how to use RS485 functionality on UART1 of LPC1768
		in slave mode.
	Process:	
		RS485 function on UART1 acts as slave mode on RS485 bus.
		RS485 Slave device in this example can operate in separate mode
		as following:
			- Slave device always receives all frames on RS485 bus, regardless
			  data frame (9 bit mode with parity stick '0') or slave address
			  frame (9 bit mode with parity stick '1').
			- Slave device does not always receive all frames on RS485 bus. In this
			  case, only slave address frame can trigger an interrupt event,
			  then slave device can accept the following data frame by determine that
			  slave address frame is its own address or not(implemented by software).
			- Slave device is in auto slave address detection mode. In this mode,
			  only slave address frame with slave address value that matched with
			  pre-configured slave address will be accepted automatically (by hardware)
			  and trigger an interrupt callback event to handle following data frames.
				
@Directory contents:
	\EWARM: includes EWARM (IAR) project and configuration files
	\Keil:	includes RVMDK (Keil)project and configuration files 

	lpc17xx_libcfg.h: Library configuration file - include needed driver library for this example 
	makefile: Example's makefile (to build with GNU toolchain)
	rs485_slave.c: Main program

@How to run:
	Hardware configuration:		
		This example was tested on:
			Keil MCB1700 with LPC1768 vers.1
				These jumpers must be configured as following:
				- VDDIO: ON
				- VDDREGS: ON 
				- VBUS: ON
				- Remain jumpers: OFF
			IAR LPC1768 KickStart vers.A
				These jumpers must be configured as following:
				- PWR_SEL: depend on power source
				- DBG_EN : ON
				- Remain jumpers: OFF
				
		RS485 Connection:
		Pls see the 'Transceiver_Master.png' in this directory for wiring information.				
	
	Running mode:
		This example can run on RAM/ROM mode.
					
		Note: If want to burn hex file to board by using Flash Magic, these jumpers need
		to be connected:
			- MCB1700 with LPC1768 ver.1:
				+ RST: ON
				+ ISP: ON
			- IAR LPC1768 KickStart vers.A:
				+ RST_E: ON
				+ ISP_E: ON
		
		(Please reference "LPC1000 Software Development Toolchain" - chapter 4 "Creating and working with
		LPC1000CMSIS project" for more information)
	
	Step to run:
		- Step 1: Build example.
		- Step 2: Burn hex file into board (if run on ROM mode)
		- Step 3: Connect UART0 on this board to COM port on your computer
		- Step 4: Connect RS485 between master board and slave board (using ADM485)
		- Step 5: Run example and using Serial display to monitor the communication between master and slave.
		Note: The RS485 slave device must initialize first.
		
		(Pls see "LPC17xx Example Description" document - chapter "Examples > UART > RS485_Slave"
		for more details)
		
@Tip:
	- Open \EWARM\*.eww project file to run example on IAR
	- Open \RVMDK\*.uvproj project file to run example on Keil
