README.rst
1.. zephyr:code-sample:: spi-bitbang
2 :name: SPI bitbang
3 :relevant-api: spi_interface
4
5 Use the bitbang SPI driver for communicating with a slave.
6
7Overview
8********
9
10This sample demonstrates using the bitbang SPI driver. The bitbang driver can
11be useful for devices which use a non multiple of 8 word size, for example some
12LCDs which have an extra cmd/data bit.
13
14This sample loops through some different spi transfer configurations.
15
16
17Building and Running
18********************
19
20The application will build only for a target that has a :ref:`devicetree
21<dt-guide>` entry with :dtcompatible:`zephyr,spi-bitbang` as a compatible.
22
23You can connect the MISO and MOSI pins with a wire to provide a basic loopback
24test for receive data.
25
26.. zephyr-app-commands::
27 :zephyr-app: samples/drivers/spi_bitbang
28 :board: nrf52840dk/nrf52840
29 :goals: build flash
30 :compact:
31
32Sample Output
33=============
34
35.. code-block:: console
36
37 *** Booting Zephyr OS build zephyr-v2.6.0-2939-g1882b95b42e2 ***
38 basic_write_9bit_words; ret: 0
39 wrote 0101 00ff 00a5 0000 0102
40 9bit_loopback_partial; ret: 0
41 tx (i) : 0101 0102
42 tx (ii) : 0003 0004 0105
43 rx (ii) : 0003 0004 0105
44 basic_write_9bit_words; ret: 0
45 wrote 0101 00ff 00a5 0000 0102
46 9bit_loopback_partial; ret: 0
47 tx (i) : 0101 0102
48 tx (ii) : 0003 0004 0105
49 rx (ii) : 0003 0004 0105
50 basic_write_9bit_words; ret: 0
51 wrote 0101 00ff 00a5 0000 0102
52 9bit_loopback_partial; ret: 0
53 tx (i) : 0101 0102
54 tx (ii) : 0003 0004 0105
55 rx (ii) : 0003 0004 0105
56