//Peripheral Functions
CALFUNCTION(void, FC_CAL_UART_Init_, (void))
{

	#if (MX_UART_CHANNEL_X == 0)
		FC_CAL_Bit_In_DDR 	(MX_UART_RX_PORT_X, MX_UART_RX_TRIS_X, MX_UART_RX_PIN_X);		// Receive pin is a input
		FC_CAL_Bit_High_DDR (MX_UART_TX_PORT_X, MX_UART_TX_TRIS_X, MX_UART_TX_PIN_X);		// Transmit pin is default high
	#endif

	#if (MX_UART_CHANNEL_X == 1)

		  #ifdef MX_UART_1_REMAPPABLE					//Setup Remappable I/O
			MX_UART_1_TX_RPOR = MX_UART_1_TX_UTX;
			MX_UART_1_RX_RPINR = MX_UART_1_RX_RP;
		  #endif

		  #ifdef MX_UART_1_TX_ALT						//Setup Alt I/O
		  	MX_UART_1_TX_ALT;
		  #endif
		  #ifdef MX_UART_1_RX_ALT
		  	MX_UART_1_RX_ALT;
		  #endif

		  #if (MX_HARD_SLOW_X == 1)
			cr_bit(TXSTA, BRGH);						//Low Speed
		  #else
			st_bit(TXSTA, BRGH);						//High Speed
		  #endif
			SPBRG = MX_HARD_BAUD_X;   					// set the baud rate
			RCSTA = 0;                    				// 8-bit, disabled

			#if(MX_UART_DBITS_X == 9)
				st_bit(TXSTA, TX9);   					// 9-bit TX
				st_bit(RCSTA, RX9);                    	// 9-bit RX
			#endif

			st_bit(RCSTA, SPEN);         				// turn on serial interface
			st_bit(TXSTA, TXEN);
			st_bit(RCSTA, CREN);

			#if (MX_UART_INT_X == 1)
				MX_UART_INT_CH1_EN;
				st_bit(INTCON, PEIE);
				st_bit(INTCON, GIE);
			#else
				cr_bit (MX_UART1_PIE, RCIE);
			#endif

	#endif
