- Processing
- p5.js
- Processing.py
- Processing for Android
- Processing for Pi

- Processing Foundation

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

Class | SPI
Name | ### transfer()
Examples |
    import processing.io.*;
    SPI adc;

    void setup() {
      //printArray(SPI.list());
      adc = new SPI(SPI.list()[0]);
      adc.settings(500000, SPI.MSBFIRST, SPI.MODE0);
    }

    void draw() {
      // read in values over SPI from an analog-to-digital
      // converter
      // dummy write, actual values don't matter
      byte[] out = { 0, 0 };
      byte[] in = adc.transfer(out);
      // some input bit shifting according to the datasheet
      int val = ((in[0] & 0x1f) << 5) | ((in[1] & 0xf8) >> 3);
      // val is between 0 and 1023
      println(val);
    }
Description | Transfers data over the SPI bus With SPI, data is simultaneously being exchanged between the master device and the slave device. For every byte that is being sent out, there's also one byte being read in.
Syntax |
    .transfer(out)
Parameters |
out | byte[]: bytes to send
out | String: string to send
out | int: single byte to send, e.g. numeric literal (0 to 255, or -128 to 127)
out | byte: single byte to send
Returns | byte[]

Updated on January 1, 2021 03:38:10am EST
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.