56 lines
1.5 KiB
ReStructuredText
56 lines
1.5 KiB
ReStructuredText
.. zephyr:code-sample:: spi-bitbang
|
|
:name: SPI bitbang
|
|
:relevant-api: spi_interface
|
|
|
|
Use the bitbang SPI driver for communicating with a slave.
|
|
|
|
Overview
|
|
********
|
|
|
|
This sample demonstrates using the bitbang SPI driver. The bitbang driver can
|
|
be useful for devices which use a non multiple of 8 word size, for example some
|
|
LCDs which have an extra cmd/data bit.
|
|
|
|
This sample loops through some different spi transfer configurations.
|
|
|
|
|
|
Building and Running
|
|
********************
|
|
|
|
The application will build only for a target that has a :ref:`devicetree
|
|
<dt-guide>` entry with :dtcompatible:`zephyr,spi-bitbang` as a compatible.
|
|
|
|
You can connect the MISO and MOSI pins with a wire to provide a basic loopback
|
|
test for receive data.
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/drivers/spi_bitbang
|
|
:board: nrf52840dk/nrf52840
|
|
:goals: build flash
|
|
:compact:
|
|
|
|
Sample Output
|
|
=============
|
|
|
|
.. code-block:: console
|
|
|
|
*** Booting Zephyr OS build zephyr-v2.6.0-2939-g1882b95b42e2 ***
|
|
basic_write_9bit_words; ret: 0
|
|
wrote 0101 00ff 00a5 0000 0102
|
|
9bit_loopback_partial; ret: 0
|
|
tx (i) : 0101 0102
|
|
tx (ii) : 0003 0004 0105
|
|
rx (ii) : 0003 0004 0105
|
|
basic_write_9bit_words; ret: 0
|
|
wrote 0101 00ff 00a5 0000 0102
|
|
9bit_loopback_partial; ret: 0
|
|
tx (i) : 0101 0102
|
|
tx (ii) : 0003 0004 0105
|
|
rx (ii) : 0003 0004 0105
|
|
basic_write_9bit_words; ret: 0
|
|
wrote 0101 00ff 00a5 0000 0102
|
|
9bit_loopback_partial; ret: 0
|
|
tx (i) : 0101 0102
|
|
tx (ii) : 0003 0004 0105
|
|
rx (ii) : 0003 0004 0105
|