본문 바로가기

ESPRESSIF/ESP32-S2

ESP32-S2 SM - SPI테스트

Arduino IDE에서 ESP32-S2의 SPI 는 디폴트로 GPIO35 ~ 36에 할당되어 있다.

static const uint8_t SS    = 34;
static const uint8_t MOSI  = 35;
static const uint8_t MISO  = 37;
static const uint8_t SCK   = 36;

 

 

ESP32-S2의 SPI 테스트를 위해  아래 코드로 테스트 해보았다.

#include <SPI.h>

#define LED_PIN1      18

void setup() {
  pinMode(LED_PIN1, OUTPUT);
  Serial.begin(115200);

  SPI.begin();
  SPI.beginTransaction(SPISettings(80000000, MSBFIRST, SPI_MODE0));
}

unsigned char buffer1[] ={0xf0, 0xff, 0x0f};

void loop() 
{
  SPI.transfer(buffer1, 3);
  delay(10);
}

 

다른 MCU에서와 다르게 SPI 전송시 지연없이 출력 되는것을 확인 할 수 있다.

 

 

여러번 전송시에의 SPI전송 지연은 4.5us로 다소 길다

unsigned char buffer1[] ={0, 0, 0};
unsigned char buffer2[] ={0xf0, 0xff, 0x0f};

void loop() 
{
  SPI.transfer(buffer2, 3);
  SPI.transfer(buffer1, 2);
}

 

반응형