Exemplo n.º 1
0
// Set up the SPI for the MicroSD card
void sdSetup(void)
{
    // Configure Port Direction
    TRISDbits.TRISD5 = 0;   //  Turn RD5 into output for SCLK
    TRISDbits.TRISD4 = 1;   //  Turn RD4 into input for MISO
    TRISDbits.TRISD3 = 0;   //  Turn RD3 into output for MOSI
    TRISDbits.TRISD2 = 0;   //  Turn RD2 into output for SS
    TRISDbits.TRISD1 = 1;   //  Turn RD1 into input for CD (card detect)

    // Configure PPS pins for MicroSD
    iPPSInput(IN_FN_PPS_SDI1,IN_PIN_PPS_RP25);          // Assign SDI1 to pin RP25
    iPPSOutput(OUT_PIN_PPS_RP20,OUT_FN_PPS_SCK1OUT);    // Assign SCK1OUT to pin RP20
    iPPSOutput(OUT_PIN_PPS_RP22,OUT_FN_PPS_SDO1);       // Assign SDO1 to pin RP22
    iPPSOutput(OUT_PIN_PPS_RP23,OUT_FN_PPS_SS1OUT);     // Assign SS1OUT to pin RP23

    // Close SPI in case it's already open
    CloseSPI1();
    
    // Enable SPI interface

    // Clear and disable SPI interupts for now
    SPI1_Clear_Intr_Status_Bit;
    DisableIntSPI1;

    ConfigIntSPI1(SPI_INT_DIS);
    // Interrupts disabled
    
    OpenSPI1(0x0000, MASTER_ENABLE_ON, SPI_ENABLE);
    // Master Mode
    // SPI enabled
}
Exemplo n.º 2
0
//<editor-fold defaultstate="collapsed" desc="SPI Setup">
void Setup_SPI1()
{
     OpenSPI1(
            (
            ENABLE_SCK_PIN  &//
       //     FIFO_BUFFER_DISABLE      &
            ENABLE_SDO_PIN          &//
            SPI_MODE16_OFF          &//
            SPI_SMP_ON            &//
            SPI_CKE_ON             &//
            SLAVE_ENABLE_OFF        &//
            CLK_POL_ACTIVE_HIGH     &//
            MASTER_ENABLE_ON        &//
            SEC_PRESCAL_4_1         &//
            PRI_PRESCAL_4_1//
            )
            ,
            (
            FRAME_ENABLE_OFF        &   //NOT USED
            FRAME_SYNC_OUTPUT       &   //NOT USED
            FRAME_POL_ACTIVE_HIGH   &   //NOT USED
            FRAME_SYNC_EDGE_PRECEDE   //NOT USED

            )
            ,
            (
            SPI_ENABLE          &//
            SPI_IDLE_CON        &//
            SPI_RX_OVFLOW_CLR   //
            )
            );

    ConfigIntSPI1(SPI_INT_EN & SPI_INT_PRI_5);

    TRIS_SCLK;
    TRIS_MOSI;
    TRIS_MISO;

    MAP_SCLK;
    MAP_MOSI;
    MAP_MISO;


    printf("SPI1 Setup\r\n");
    return;
}
Exemplo n.º 3
0
void Setup_SPI1()
{
     OpenSPI1(
            (
            ENABLE_SCK_PIN  &//
       //     FIFO_BUFFER_DISABLE      &
            ENABLE_SDO_PIN          &//
            SPI_MODE16_OFF          &//
            SPI_SMP_ON            &//
            SPI_CKE_ON             &//
            SLAVE_ENABLE_OFF        &//
            CLK_POL_ACTIVE_HIGH     &//
            MASTER_ENABLE_ON        &//
            SEC_PRESCAL_4_1         &//
            PRI_PRESCAL_4_1//
            )
            ,
            (
            FRAME_ENABLE_OFF        &   //NOT USED
            FRAME_SYNC_OUTPUT       &   //NOT USED
            FRAME_POL_ACTIVE_HIGH   &   //NOT USED
            FRAME_SYNC_EDGE_PRECEDE   //NOT USED

            )
            ,
            (
            SPI_ENABLE          &//
            SPI_IDLE_CON        &//
            SPI_RX_OVFLOW_CLR   //
            )
            );

    ConfigIntSPI1(SPI_INT_EN & SPI_INT_PRI_5);

    PPSOutput(OUT_FN_PPS_SCK1, OUT_PIN_PPS_RP8);//CLK
    PPSOutput(OUT_FN_PPS_SDO1, OUT_PIN_PPS_RP7);//MOSI
    PPSInput(IN_FN_PPS_SDI1, IN_PIN_PPS_RP6);   //MISO

    TRISBbits.TRISB8 = 0;//Clk
    TRISBbits.TRISB7 = 0;//MOSI
    TRISBbits.TRISB6 = 1;//MISO
    printf("SPI1 Setup\r\n");
    return;
}