Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

CPU_BOOLEAN FSDev_BSP_SPI_Open (FS_QTY unit_nbr);

File

Called from

Code enabled by

fs_dev_<dev_name>_bsp.c

Device driver

N/A

Open (initialize) hardware for SPI.

Arguments

unit_nbr

Unit number of device.

Returned Value

DEF_OK, if interface was opened.

DEF_FAIL, otherwise.

Notes/Warnings

  1. This function will be called every time the device is opened.
  2. Several aspects of SPI communication may need to be configured, including:

    a. Transfer unit length

    b. Shift direction

    c. Clock frequency

    d. Clock polarity and phase (CPOL and CPHA)

    e. Slave select polarity

  3. For a SD/MMC card, the following settings should be used:

    a. Transfer unit length: 8-bits

    b. Shift direction: MSB first

    c. Clock frequency: 400-kHz (initially)

    d. Clock polarity and phase (CPOL and CPHA): CPOL = 0, CPHA = 0

    e. Slave select polarity: active low.

  4. The slave select (SSEL or CS) must be configured as a GPIO output; it should not be controlled by the CPU’s SPI peripheral. The SPI port’s ChipSelEn() and ChipSelDis() functions manually enable and disable the SSEL.
  • No labels