본문 바로가기

[ST_MICRO]/STR7

STR711 SPI관련자료 - SPI0사용시 주의사항

STR711 SPI0사용시 주의사항
잘 사용하던 SPI가 문제가 생겼다. SPI1은 잘동작하는데 SPI0는 클럭이 나오지 않는다.

이 문제로 2시간 정도 까먹었다…ㅠㅠ

역시나 항상 많이 사용하지 않는 MCU는 복병은 존재한다. 아무 문제도 아닌것으로 이렇게 시간을 허비 하다니

SPI0를 사용할 경우 BSPI_BSPI0Conf(ENABLE)를 호출해 주어야 enable가능하다. 아마도 SPI0는 여러 기능들이 있어 선택을 해 주어야 하기 때문인 것 같다.

 

Bspi.h 파일에 정의

/*******************************************************************************

* Function Name  : BSPI_BSPI0Conf

* Description    : configure STR71x on BSPI0 mode.

* Input 2        : NewState: specifies the status of the BSPI

*                    : NewState value must be either ENABLE or DISABLE:

*                    : ENABLE: the specified BSPI0 peripheral will be enabled.

*                    : DISABLE: the specified BSPI0 peripheral will be disabled..

* Output         : SPI0 EN  bit  in BOOTCR.

* Return         : None.

*******************************************************************************/

inline void BSPI_BSPI0Conf(FunctionalState NewState)

{

  if (NewState == ENABLE) PCU->BOOTCR |= 0x04; else PCU->BOOTCR &= ~0x04;

}





SPI 클럭구조
SPI0, SPI1모두 APB1에 연결되어 있다.



STR711 SPI구조



SPI초기화 예제
->여기서도 BSPI_BSPI0Conf(ENABLE)에 관련해 언급한 부분이 없다. 이것때문에 고생했는데...
반응형