Open() - SPI BSP
CPU_BOOLEAN FSDev_BSP_SPI_Open (FS_QTY unit_nbr);
File | Called from | Code enabled by |
---|---|---|
| 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
- This function will be called every time the device is opened.
- Several aspects of SPI communication may need to be configured, including:
- Transfer unit length
- Shift direction
- Clock frequency
- Clock polarity and phase (CPOL and CPHA)
- Slave select polarity
- For a SD/MMC card, the following settings should be used:
- Transfer unit length: 8-bits
- Shift direction: MSB first
- Clock frequency: 400-kHz (initially)
- Clock polarity and phase (CPOL and CPHA): CPOL = 0, CPHA = 0
- Slave select polarity: active low.
- 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()
andChipSelDis()
functions manually enable and disable the SSEL.