본문 바로가기
임베디드

[오제이 튜브의 임베디드 강의] 22강. STM32에서는 SPI기능을 제공한다구!

by 덤더리덤떰 2025. 1. 26.

1. 오늘의 목표 

  • 프로젝트 복사
  • STM32 칩에서 제공하는 SPI 기능 

 

2. 프로젝트 복사

: 단순히 폴더 복사해서 새로운 폴더 만들면 복사된 프로젝트에서 수정하면 기존 프로젝트도 수정이 됨 

=> 프로젝트 복사하면 독자적인 프로젝트가 될 수 있도록 하자 

  • 기존 first 프로젝트 폴더 복사해서 생성한 second 폴더에 복사한 후에 IDE를 열고 기존 first 프로젝트 삭제 
    => 이때, Delete project contents on disk 체크 상자 해제 후 지움
  • import project -> General -> Existing Projects into Workspace -> root directory를 second-second 폴더로 생성
  • first.ioc -> second.ioc
  • Run -> Debug configurations -> STM32 C/C++ Application dbclik -> Debug/second.elf로 변경 
  • Project -> clean
  • debug  

 

3. STM32 칩에서 제공하는 SPI 기능 

나머지 설정은 그대로

 

3-1. init_fnd 함수 수정

+ 헤더파일의 함수 정의도 void init_fnd(SPI_HandleTypeDef * hspi); 로 바꾸기 

(왼) spi 핸들러 매개변수로 전달

 

3-2. send 함수 수정

 

3-3. 핀배열 바꾸기

  • FND_SCLK PB15 -> PB13
  • FND_DIO PB14 -> PB15
  • FND_RCLK PB13 -> PB14

=> 디버깅하면 똑같이 이전 게시물과 같이 정상적으로 수행

https://growingupis.tistory.com/99

 

[오제이 튜브의 임베디드 강의] 21강. FND 제어 소스 분석!

1. send 함수 분석               내가 보내고 싶은 한 바이트의 숫자에 따라 패킷 생성해서 HIGH/LOW 로 바꿈DIO,SCLK 선 사용 이때, 맨마지막 FOR문이 끝나고 나면 HIGH로 바꾸기에 클럭의 기본

growingupis.tistory.com