본문 바로가기

프로젝트/임베디드

RCC 오실로스코프로 확인하기

반응형

 STM32 계열 MCU를 다루면서 기본적으로 클럭을 설정하고 배분해주어야 한다. 그런데 막상 클럭 설정이 원하는 대로 설정되었는 지 확인하기란 요원하다. 다행히도 RCC CFGR 레지스터는 클럭을 핀으로 출력하여 확인할 수 있도록 기능을 제공한다. STM32F103RBT6을 기준으로는 PA8로 출력된다.

 

MCO 핀을 다룬다.

 

시스템 클럭, HSI 클럭, HSE 클럭, PLL 클럭/2 옵션이 있고 필요에 따라서 선택하면 된다. 주의할 점은 기재된 것처럼 MCO로 출력되는 신호의 주파수는 50MHz을 넘어서는 안된다. 트리를 보면 좀 더 이해가 쉬울 것이다.

 

 

CMSIS 라이브러리를 사용하고 있다면 RCC CFGR을 설정할 때 다음의 코드를 삽입해주면 된다.

//원하는 것 한 개 선택
MODIFY_REG(RCC->CFGR, RCC_CFGR_MCO, RCC_CFGR_MCO_NOCLOCK);
MODIFY_REG(RCC->CFGR, RCC_CFGR_MCO, RCC_CFGR_MCO_SYSCLK);
MODIFY_REG(RCC->CFGR, RCC_CFGR_MCO, RCC_CFGR_MCO_HSI);
MODIFY_REG(RCC->CFGR, RCC_CFGR_MCO, RCC_CFGR_MCO_HSE);
MODIFY_REG(RCC->CFGR, RCC_CFGR_MCO, RCC_CFGR_MCO_PLLDIV2);

 

그러면 MCO로 출력 가능하다. 단 바로 출력 가능한 것은 아니고, 별도로 MCO핀(PA8 or else)에 대해서 alternate pushpull output 모드로 설정해주어야 한다. 

반응형

'프로젝트 > 임베디드' 카테고리의 다른 글

[이론] SPI 통신  (0) 2025.04.28
UART 통신  (0) 2025.04.07
JTAG/SWD 동작 안하는 경우 봐야할 것!!  (0) 2025.02.22
0. PPG에 대하여  (0) 2024.05.07
5. 임베디드 실습 : GPIO + Systick  (1) 2024.01.26