본문 바로가기

[ST_MICRO]/STM32F7

[STM32-64 Ardu] STM32F732 Arduino SPI 속도 테스트

[STM32-64 Ardu] 보드에서 STM32F732의 SPI 클럭 속도를 측정해 보자.

Arduino 호환 핀맵의 SPI핀은 SPI1에 할당되어 있다.

 

STM32F7의 클럭최대 속도는 216Mhz이고 SPI로 입력되는 APB2클럭은 108Mhz 이다. SPI 최대 클럭는 APB/2 이므로 54Mhz가 최대 설정값이 된다.

 

SPI초기화 하고 클럭 설정을 하면

SPI.setClockDivider(SPI_CLOCK_DIV2) 

54Mhz가 출력 되는 것을 확인 할 수 있다.

 

#include <SPI.h>

void setup()
{
  Serial.begin(115200);
  Serial.println("SPI tst..");
  
  delay(1000);

  SPI.begin();
  //SPI.beginTransaction(SPISettings(54000000, MSBFIRST, SPI_MODE0)); // speed was 54Mhz

  SPI.setClockDivider(SPI_CLOCK_DIV2);  //54Mhz
  //SPI.setClockDivider(SPI_CLOCK_DIV4);  //27Mhz
  //SPI.setClockDivider(SPI_CLOCK_DIV8);  //13.5Mhz
}


void loop() 
{
  SPI.transfer(0x55);
}

 

반응형