[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);
}
반응형