/* OK teste le 24/05/2011 sur 64MC802 */


#include <p33FJ64MC802.h>
#include <stdio.h>
#include <timer.h>
#include <uart.h>
#include "../../drivers/delay.h"
#include "../../drivers/drvUART.h"

#define Fcy (80000000/2)
#define BAUDRATE 9600
#define BRGVAL ((Fcy/BAUDRATE)/16) - 1

//config oscillateur
// demarrage RC puis switch sur quart+pll	
_FOSCSEL(FNOSC_FRC); 		
_FOSC(FCKSM_CSECMD & OSCIOFNC_OFF  & POSCMD_XT);	// Clock Switching is enabled and Fail Safe Clock Monitor is disabled
													// OSC2 Pin Function: OSC2 is Clock Output
													// Primary Oscillator Mode: XT Crystal
_FWDT(FWDTEN_OFF); 




unsigned char BUFF[50]={'i','u','t','\r','\n','\0'};

int main (void)

{	InitClockNoSwitch() ; //init oscillateur
	
	InitPORT_AND_PIN(); // init broche remapable
	InitUART1(); // init broche remapable

	// exemple 1 : appel à la fct  UART_puts
	//passage du tableau à envoyer
	UART_puts(BUFF);
	///////////////////////////

	// exemple 2 : formatage avec sprintf
	// BUFF: tableau de caractere résultat de la conversion 
	sprintf(BUFF,"Un entier: %d\n Un float: %f \n",10,10.5);
	UART_puts(BUFF); // envoi sur RS232 du resultat

	for (;;)
	{
		LATBbits.RB0=!LATBbits.RB0; 
		Delay(Delay_15mS_Cnt); // tempo BLOQUANTE: attention pour demo uniquement!!!
		UART_puts(BUFF); // envoi en bouble
	
	}
}
