Main Content


Write and read binary data from SPI instrument



    data = writeAndRead(s,dataToWrite) writes the data dataToWrite to the SPI instrument s and reads the data available from the instrument as a result of writing dataToWrite. s must be a 1-by-1 SPI interface object. Values are written and read as uint8 data.

    The interface object must be connected to the device using the connect function before any data can be read from the device, otherwise an error is returned. A connected interface object has a ConnectionStatus property value of connected.

    SPI protocol operates in full duplex mode, so input and output data transfers happen simultaneously. For every byte written to the device, a byte is read back from the device.

    For more information on using the SPI interface and this function, see Configuring SPI Communication and Transmitting Data over the SPI Interface.


    collapse all

    This example shows how to create a SPI object s, and read and write data.

    Construct an spi object called s using Vendor 'aardvark', with BoardIndex of 0, and Port of 0.

    s = spi('aardvark',0,0);

    Connect to the chip.


    Read and write to the chip.

    dataToWrite = [2 0 0 255];
    data = writeAndRead(s,dataToWrite);

    Disconnect the SPI device and clean up by clearing the object.


    Input Arguments

    collapse all

    SPI device, specified as an spi object.

    Data to write to SPI device, specified as a row (1-by-N) or column (N-by-1) vector of numeric values or as a character vector of text. Refer to the SPI device documentation or data sheet for more information about the commands or data you can write to the device. You can specify data of any numeric data type, but the data is written to the SPI device as a uint8 value.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char

    Version History

    Introduced in R2013b