Seeeduino XIAOでSPIを撃ってみたいと思います。
によると、
#define SPI_CS 7
#define SPI_MOSI 10
#define SPI_CLK 8
#define SPI_MISO 9
な感じでいけそうです。
参考ページによるとSPI.begin():だけでもいけそうですが、少し真面目に記述してみます。参考ページの下のほうにある回路図を見てみると
D9(MISO)<-pin10<-Sercom0PAD1
D10(MOSI)<-pin11<-Sercom0PAD2
D8(SCK)<-pin12<-Sercom0PAD3
となっているようです。
ということは、
SPIClass mySPI(&sercom0,SPI_MISO,SPI_CLK,SPI_MOSI,SPI_PAD_2_SCK_3,SERCOM_RX_PAD_0);
となるのでしょう。では、スケッチはこんな感じで。
- #include "SPI.h"
- #define SPI_CS 7
- #define SPI_MOSI 10
- #define SPI_CLK 8
- #define SPI_MISO 9
- SPIClass mySPI(&sercom0,SPI_MISO,SPI_CLK,SPI_MOSI,SPI_PAD_2_SCK_3,SERCOM_RX_PAD_0);
- void setup() {
- pinMode(SPI_CS,OUTPUT);
- mySPI.begin();}
- uint8_t i=0;
- void loop() {
- digitalWrite(SPI_CS,LOW);
- mySPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
- mySPI.transfer(i++);
- mySPI.endTransaction();
- digitalWrite(SPI_CS,HIGH);
- delay(10);
- }
よしきた
コメントをお書きください