31 lines
919 B
C++
31 lines
919 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_1 means MOSI is on SERCOMn.0 and SCK is on SERCOMn.1
|
|
// SERCOM_RX_PAD_3 means MISO on SERCOMn.3
|
|
SPIClass mySPI (&sercom1, 12, 13, 11, SPI_PAD_0_SCK_1, SERCOM_RX_PAD_3);
|
|
|
|
void setup() {
|
|
Serial.begin(115200);
|
|
|
|
// do this first, for Reasons
|
|
mySPI.begin();
|
|
|
|
// Assign pins 11, 12, 13 to SERCOM functionality
|
|
pinPeripheral(11, PIO_SERCOM); // MOSI
|
|
pinPeripheral(12, PIO_SERCOM); // MISO
|
|
pinPeripheral(13, PIO_SERCOM); // SCK
|
|
}
|
|
|
|
uint8_t i=0;
|
|
void loop() {
|
|
SerialUSB.println(i);
|
|
mySPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
|
|
mySPI.transfer(i++);
|
|
mySPI.endTransaction();
|
|
}
|