본문 바로가기
임베디드.일렉트로닉스/STM32

STM32. SPI 사용 설정.

by i.got.it 2016. 2. 1.

 

 

개요.

 

 STM32CubeMX 이용하여 SPI 사용가능하게 설정하는 과정 상세. 

 

타켓칩 : STM32F407VGT

STM32F407VGT 에는 3개의 SPI를 사용가능하며, 본 글에서는 SPI2 의 마스터 설정으로 사용하는 예를 보임. 

 

 

 

 

 

상세.

 

 

1. STM32CubeMX에서 SPI2 를  Full-duplex Master 로 선택.

주의사항. - 체크박스에 보면  Hardware NSS Signal 이란 것이 있는데, 타겟 SPI Slave 가 1개 일때  H/W Chip Select 기능으로 사용할때 선택한다. 펌웨어상에서 별도처리하지 않아도 데이터 프레임 단위로 NSS핀으로 Low 출력이 나온다.

SPI Slave로 설정했을때는 SPI Master 로부터  Chip Select 입력 받는 목적으로 SPI NSS핀을 사용할 수도 있다. 

SPI NSS핀 설정 정보 상세:  http://igotit.tistory.com/814 

본 예에서는 SPI NSS핀을 사용하지 않고 일반 GPIO를 타겟 SPI Chip Select용도로 사용토록 설정한다.

 

위와 같이 선택하면 오른쪽 칩그림의 핀에 SPI2 핀 기능 할당된것을 볼 수 있다.

SPI2_MISO : PC2

SPI2_MOSI : PB15

SPI2_SCK : PB13

 

 

 

2. SPI2 CS기능으로 사용할 GPIO핀 할당.

우리가 GPIO 로 제어할 SPI2  CS 핀을 PB12 로 지정하기로 한다. 

그림에서 PB12 를 마우스 클릭하면 핀기능을 선택할 수 있는 창이 나온다.  GPIO_Out  선택한다.

 

 

위 선택 적용하면 보이는 핀 기능 고정할당된 모습.

초기 보이는 이름은 GPIO_Out 으로 되어있는것을 메뉴 Pinout -> Pins/Signal Option 에서 임의 수정한것임.

 

3. SPI2 설정

 

앞의 단계2까지는 SPI2 를 사용하겠다는 것과 핀에 대응시킨것이 전부다. 구체적으로 해당 SPI2 의 클럭, 모드등의 설정이 이뤄져야 한다.

이는 Configure탭을 클릭하여 이뤄진다.

 

 

위 그림에 우리가 선택한 SPI2 가 보인다. 이것을 클릭하면 설정가능한 창이 뜬다(아래).  응용 목적에 맞게 설정하면 된다.

 

 

4. SPI2_CS GPIO 설정

Configuration 탭에서 GPIO 를 클릭하여 우리가 소프트제어하기 위하여 출력으로 선택한 SPI2_CS 핀인 PB12 상태를 보자. 

기본 설정값에서 바꿀것이 없다.

 

 

 

끝. - SPI 사용하기 위한 STM32CubeMX 에서의 설정. 이후 STM32CubeMX에서 코드 생성하고 IDE 에서 프로젝트 열어 코딩 진행한다. 

 

SPI 읽기,쓰기 코드 예 및 동작특성 보기. -> http://igotit.tistory.com/654

 

 

 

 

 

 

 본 글이 포함된 상위 정리장소 : http://igotit.tistory.com/244 의 STM32

 

 

///653.

 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5