본문 바로가기

[ST_MICRO]

(264)
[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 void setup() { Serial.begin(115200); Serial.println("SPI tst.."); delay(1000); SPI.begin(); //SPI.beginTransaction(SPISetti..
[STM32-64 Ardu] STM32F732 Arduino GPIO 테스트 - switch debounce [STM32-64 Ardu] 보드의 내부 LED 및 스위치로 GPIO를 테스트 할 수 있다. arduino-button-library 라이브러리를 이용하여 switch debounce 노이즈 제거 테스트를 해 보자. https://arduinogetstarted.com/tutorials/arduino-button-library STM32F732 Switch Devounce 테스트 Arduino 코드 #include #define LED_PIN1 PB2 #define LED_PIN2 PB6 #define PIN_SW1 PA15 ezButton button(PIN_SW1); // create ezButton object void setup() { pinMode(LED_PIN1, OUTPUT); pinMode..
[STM32-48 SSM] Arduino IDE에서 W5500 iperf 전송률 테스트 STM32F103 Aruino TCP 예제를 이용하여 iperf로 W5500의 네트웍 전송율 테스트를 해 보자 #include #include #define USE_THIS_SS_PIN PB0 byte mac[] = { 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00 }; EthernetServer server(5001); void setup() { Serial.begin(115200); Serial.print("Iperf server address : "); Ethernet.w5500_cspin = USE_THIS_SS_PIN; // initialize the ethernet device Ethernet.begin(mac); // start listening for clients serv..
[STM32-48 SSM] Arduino SPI 테스트
[STM32-48 SSM EVM] - Arduino HID Keyboard Test [STM32-48 SSM EVM] 보드의 특징으로 작은크기 인데 간단한 USB보조 HID키보르를 제작해 보면 좋을것 같다. HID 키보드를 제작하기 위해 ARDUINO 라이브러리를 이용하면 쉽게 작성가능하다. 보드내에 있는 스위치(PB12) 입력에 따라 Keyboard Report를 전송하도록 했다. #include "Keyboard.h" const int buttonPin = 15; // input pin for pushbutton int previousButtonState = HIGH; // for checking the state of a pushButton int counter = 0; // button push counter void setup() { // make the pushButton p..
[STM32-48 SSM] STM32F103 Dhrystone, Whetstone 벤치마크 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. .mode = Arduino Dhrystone Benchmark, Version 2.1 (Language: C) --------------------------------------------------- Execution starts, 300000 runs through Dhr..
[STM32-48 SSM EVM] STM32F103 Arduino 만들기 Arduino Board 파일은 https://github.com/stm32duino/Arduino_Core_STM32 를 사용한다. 먼저 Arduino https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json Arduino Boards Manager 에서 Genernic STM32F1 Series를 선택한다. Board part number를 ELAB_STM32F1x_SSM 보드를 선택 한다. Generic F1 보드파일을 수정해서 ELAB_STM32F1x_SSM보드파일로 만들었다. // SPI definitions #ifndef PIN_SPI_SS #define PIN_SPI_SS PB10..
[STM32-48 SSM] STM32F103 - Iperf로 W5500의 TCP Throughput 측정 테스트 W5500을 이용하여 소형의 STM32-48 SSM EVM에서 TCP 루프백 전송율 테스트를 진행 해 보자. 먼저 STM32CubeIDE를 이용하여 SPI 설정을 한다. Wiznet ioLibrary Driver 를 다운받아 Ethernet 폴더에 복사 한다. wizet_test.c 파일에 드라이버 포팅 및 테스트 함수를 작성 하였다. wiznet_test.c void Net_Conf() { wiz_NetInfo gWIZNETINFO = { { 0x00, 0xdc, 0x08, 0x00, 0x00, 0x00 },// Mac address { 192, 168, 1, 140 },// IP address { 255, 255, 240, 0},// Subnet mask { 192, 168, 1, 1},// Gate..