PiDuino Library

SPI.begin(driverName)

Initialize SPI as Master and opens the specified device driver name port.

Parameters

driverName - SPI device driver name port. (e.g. “/dev/spidev0.0”)

Returns

None


Example

#include <Arduino.h>
#include <SPI.h>

// Sends "Hello World!" byte by byte through SPI

SPISettings settingsA(2000000, MSBFIRST, SPI_MODE1); 

void setup() {
	SPI.begin("/dev/spidev0.0");
}

void loop() {
	char c;
	char ret;

	SPI.beginTransaction(settingsA);
	for (const char * p = "Hello World!\n" ; c = *p; p++) {
		ret = SPI.transfer(c);
		printf("%c", ret);
	}
	printf("\n");
	SPI.endTransaction();

	delay(1000);
}

Example 2

#include <Arduino.h>
#include <SPI.h>

// Sends "Hello World!" byte by byte through SPI

void setup() {
	SPI.begin("/dev/spidev0.0");
	SPI.setClockDivider(2000000);
	SPI.setBitOrder(MSBFIRST);
	SPI.setDataMode(SPI_MODE1);
}

void loop() {
	char c;
	char ret;

	SPI.beginTransaction(settingsA);
	for (const char * p = "Hello World!\n" ; c = *p; p++) {
		ret = SPI.transfer(c);
		printf("%c", ret);
	}
	printf("\n");
	SPI.endTransaction();

	delay(1000);
}

Notes

SPI clock constant Clock speed in Hz
SPI_CLOCK_DIV2 8000000
SPI_CLOCK_DIV4 4000000
SPI_CLOCK_DIV8 2000000
SPI_CLOCK_DIV16 1000000
SPI_CLOCK_DIV32 500000
SPI_CLOCK_DIV64 250000
SPI_CLOCK_DIV128 125000
SPI modes
SPI_MODE0
SPI_MODE1
SPI_MODE2
SPI_MODE3
#include <Arduino.h>
#include <SPI.h>

void setup() {
        strcpy(SPI_DRIVER_NAME, "/dev/spidev1.0");
        SPI.begin(); // Will try open device driver "/dev/spidev1.0"
}

void loop() {
        ...
}