/ examples / simpleio_shift_in_out_demo.py
simpleio_shift_in_out_demo.py
 1  """
 2  'shift_in_out_demo.py'.
 3  
 4  =================================================
 5  shifts data into and out of a data pin
 6  """
 7  
 8  import time
 9  import board
10  import digitalio
11  import simpleio
12  
13  # set up clock, data, and latch pins
14  clk = digitalio.DigitalInOut(board.D12)
15  data = digitalio.DigitalInOut(board.D11)
16  latch = digitalio.DigitalInOut(board.D10)
17  clk.direction = digitalio.Direction.OUTPUT
18  latch.direction = digitalio.Direction.OUTPUT
19  
20  while True:
21      data_to_send = 256
22      # shifting 256 bits out of data pin
23      latch.value = False
24      data.direction = digitalio.Direction.OUTPUT
25      print('shifting out...')
26      simpleio.shift_out(data, clk, data_to_send, msb_first=False)
27      latch.value = True
28      time.sleep(3)
29  
30      # shifting 256 bits into the data pin
31      latch.value = False
32      data.direction = digitalio.Direction.INPUT
33      print('shifting in...')
34      simpleio.shift_in(data, clk)
35      time.sleep(3)