본문 바로가기

[ST_MICRO]/STM32H7

STM32H7 SPI - W5500 TCP/IP 전송속도 테스트 에러 문제 해결

STM32F7 evm 보드에서 테스트 했던 W5500 소스코드를 이용하여 STM32H7 보드에서 테스트 중인데 컴파일 에러가 발생한다.

 

STM32F7 에서 W5500제어 테스트 에서  사용 했던 코드와 동일한데 왜 에러가 발생할까?

 

 

 

#문제발생

 

에러코드

설명 자원 경로 위치 유형

expected identifier or '(' before numeric constant w5500.h /ex24_spi_w5500/Src 행 70 C/C++ Problem

 

 

 

F7 코드에서는 문제가 없었는데... 에러를 찾아 가 보니 헤더파일의 선언 순서가 문제가 된다.

같은 컴파일러 인데 왜 문지가 되지?

 

 

#문제해결

w5500.c

#include "w5500.h"

#include "config.h"

 

 

#include "config.h"

#include "w5500

 

 

수정해서 컴파일 정상적으로 되었고 STM32H7에서 W5500으로 TCP/IP 전송 속도 테스트 결과 4.4Mbps 정도 출력이 된다.

 

 

 

그런데... 이상하다. 

STM32F7 보다 STM32H7이 속도가 더 빠른데 왜 TCP전송 속도가 느린 것일까?

아무래도 SPI클럭 설정이 STM32F7과 달라서 그런것 같은데... 클럭을 올리면 W5500이 초기화가 되지 않는 현상이 있다.

아무래도 SPI를 DMA를 사용해서 테스트 해야 할것 같다.