#include <p33FJ64MC804.h>
#include <stdio.h>
#include <timer.h>
#include <spi.h>
#include "../../driver/delay.h"

// penser à rajouter ../../driver/drvSPI.c



//**************************************************************************************************
//**************************************************************************************************

//config oscillateur
_FOSCSEL(FNOSC_PRIPLL);								// Choix du oscillateur + PLL
_FOSC(FCKSM_CSDCMD & OSCIOFNC_OFF  & POSCMD_XT);	// Pas de basculement d'horloge
													// OSC2 est une sortie d'horloge
													// type d'oscillateur
_FWDT(FWDTEN_OFF); 

//*************************************************************************************************
//***************************************************************************************************

//------------SPI
void __attribute__((__interrupt__)) _SPI1Interrupt(void)
{ 
    IFS0bits.SPI1IF = 0;
} 
void __attribute__((__interrupt__)) _SPI2Interrupt(void)
{
    IFS2bits.SPI2IF = 0;
    SPI1STATbits.SPIROV = 0;  // Clear SPI1 receive overflow flag if set 
}
//**************************************************************************************************
//**************************************************************************************************
void Initport(void);


}



int main (void)
{
	unsigned int datard ;/* Data received at SPI2 */
    unsigned int SPICONValue;/* Holds the information about SPI configuartion */
    unsigned int SPISTATValue;/* Holds the information about SPI Enable/Disable */
    unsigned char cpt=0;
	
	InitClock2() ;

	InitPORT_AND_PIN();
     
        
        CloseSPI1();
       CloseSPI2();


 	InitSPI1();
        InitSPI2();

 	
        TRISCbits.TRISC8=0; //bit debug
         //LATCbits.LATC2=1; // inutile si 1 esclave Sslave 1 à 1
	while(1)
	{
	
	//LATCbits.LATC2=0; // inutile si 1 esclave Sslave 0
     	while(SPI1STATbits.SPITBF);
	    WriteSPI1(cpt);
 
	while(!DataRdySPI2());
        datard=ReadSPI2();
        //LATCbits.LATC2=1; // inutile si 1 esclave  Sslave 1 à 1

        if(datard==0x61)

            {
            LATCbits.LATC8=!LATCbits.LATC8;
            }

	cpt++;
	Delay(Delay_1mS_Cnt);
    
   	
			
	}//fin du while	

	CloseSPI1();  
        CloseSPI2();
	 return 0;
}// fin main

