sub_sdio_transfer |
Top Previous Next |
Got to SUB-20 page |
Synopsis int sub_sdio_transfer( sub_handle hndl, char* out_buf, char* in_buf, int out_sz, int in_sz, int ss_config )
Perform 3-Wire compatible SPI master transaction like one shown below.
1.SS changes according to ss_config parameter. 2.out_sz bytes are transmitted via MOSI. MOSI will be in output state during transfer. 3.MOSI state is changed to HiZ after last bit transmitted. If required SS changes. 4.in_sz bytes received from MISO input. MOSI left in HiZ state. 5.SS changes according to ss_config parameter
SPI Clock - SCK phase and polarity can be configured with sub_spi_config.
Above implementation of SPI transaction allows using of the SUB-20 as 3-Wire SPI master. In this case connection to 3-Wire device should be as following:
Parameters •out_buf - Output data buffer. •in_buf - Input buffer to store read data. •out_sz - Number of bytes to transmit in range 0..60. •in_sz - Number of bytes to receive in range 0..60. •ss_config - Determines selection and operation of SS pin. ss_config value must be created with macro SS_CONF(SS_N,SS_MODE) , where SS_N is SS pin number and SS_MODE is one of the following flags:
If ss_config is zero there will be no SS activity (changes). Return value On success function returns 0. Otherwise error code. Example /* Transmit one byte and receive 3 bytes */ /* SS1 goes low during transaction */ sub_sdio_transfer( hndl, out_buf, in_buf, 1, 3, SS_CONF(1,SS_LO) );
Compatibility
|