// peripheral configurations
#define SPI_MASTER 0x0120 // select 8-bit master mode, CKE=1, CKP=0
#define SPI_ENABLE 0x8000 // enable SPI port, clear status
// initialise the FM33256 memory/RTC device
void FM33256init(void)
{
unsigned char Seconds,Minutes,Hours,Date,Month,Year;
printf("\nFM33256 initialisation\n");
// Set IOs directions for EEPROM SPI
FM33256_CS_PORT = 1; // set CS high (disable)
FM33256_CS_TRIS = 0; // set CS pin as output
// set up pin mapping!
_RP2R = 8; // map RP2 (pin 68) to output function 8 SPI1 CLK OUT
_RP4R = 7; // map RP4 (pin 69) to output function 7 SPI1 DATA OUT
_SDI1R = 3; // map SDI1 input to RP3 (pin 70)
IFS0bits.SPI1IF = 0; // clear interrupt flag
SPI1CON1 = SPI_MASTER; // select mode
SPI1STAT = SPI_ENABLE; // enable the peripheral