35 lines
982 B
C++
35 lines
982 B
C++
#include <SPI.h>
|
|
#include "wiring_private.h" // pinPeripheral() function
|
|
|
|
// DOCUMENTACIÓN AQUI:
|
|
// https://learn.adafruit.com/using-atsamd21-sercom-to-add-more-spi-i2c-serial-ports?view=all
|
|
// SPIClass SPI (&PERIPH_SPI, PIN_SPI_MISO, PIN_SPI_SCK, PIN_SPI_MOSI, PAD_SPI_TX, PAD_SPI_RX);
|
|
|
|
// SPI_PAD_0_SCK_3 means MOSI is on SERCOMn.0 and SCK is on SERCOMn.3
|
|
// SERCOM_RX_PAD_1 means MISO on SERCOMn.1
|
|
SPIClass mySPI (&sercom2, 3, 5, 4, SPI_PAD_0_SCK_3, SERCOM_RX_PAD_1);
|
|
|
|
// https://github.com/adafruit/Adafruit_DotStar/pull/20
|
|
|
|
void setup() {
|
|
Serial.begin(115200);
|
|
|
|
// do this first, for Reasons
|
|
|
|
|
|
mySPI.begin();
|
|
|
|
// Assign pins 3, 4, 5 to SERCOM & SERCOM_ALT
|
|
pinPeripheral(3, PIO_SERCOM_ALT); // MISO
|
|
pinPeripheral(4, PIO_SERCOM_ALT); // SCK
|
|
pinPeripheral(5, PIO_SERCOM); // MOSI
|
|
}
|
|
|
|
uint8_t i=0;
|
|
void loop() {
|
|
Serial.println(i);
|
|
mySPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
|
|
mySPI.transfer(i++);
|
|
mySPI.endTransaction();
|
|
}
|