Lab_interaccio/2018/LLAC-RGBW-varios/ZERO/M0-spi2/M0-spi-sercom2/M0-spi-sercom2.ino

35 lines
982 B
Arduino
Raw Permalink Normal View History

2025-02-25 21:29:42 +01:00
#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();
}