728x90
반응형
1. RCC 설명
RCC 은 클럭을 컨트롤하는 레지스터입니다.
크게 HSI,HSE,PLL,SYSCLK 등이 있습니다.
HSI: 내부에서 제공하는 Clock
HSE: 외부에서 제공하는 Clock
PLL: Clock을 증폭
SYSCLK: 결과물
LSE : 외부 정교한 클락 (RTC)에 사용됨
이렇게 설명할수 있겠습니다.
2. MCO 설명
arm 에서는 클럭을 외부에서 측정할 수 있게 제공하는 기능이 있습니다.
그것이 MCO (Microcontroller Clock Output) PA8번입니다.
PA8번 핀을 통해서 HSI LSE HSE PLL SYSCLK 를 측정할 수 있습니다.
3. 핀설정
4. PLL 없이 HSE로 설정 후 측정하기
5. PLL 설정 후 SYSCLK 측정하기
6. 소스
설정대로만 하면 기본적으로 SYSCLK를 PA8에 출력이 될겁니다.
그런 소스가 main.c 에 보시면 SystemClock_Config(); 요기 안에
HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1);
이렇게 코딩 되어 있기 떄문입니다.
그러면 다른 클락을 보기 위해서 바꾸려면 이 부분을 바꾸시던지
아니면 main.c에 SystemClock_Config(); 밑에 함수를 추가 하면 되겠죠~
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
//HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_HSI, RCC_MCODIV_1);
//HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_LSE, RCC_MCODIV_1);
//HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_HSE, RCC_MCODIV_1);
//HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_PLLCLK, RCC_MCODIV_1);
//HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO2SOURCE_SYSCLK, RCC_MCODIV_1);
/* USER CODE END 2 */
while (1)
{
}
}
728x90
반응형
'공부 > STM32F1' 카테고리의 다른 글
11.[stm32f103][hal] 타이머 (2) _ Timer OC(Output Compare) (0) | 2017.09.22 |
---|---|
10.[stm32f103][hal] 타이머 (1) _ 개요 (0) | 2017.09.22 |
8.[stm32f103][hal] 외부 인터럽트 (0) | 2017.09.19 |
6.[stm32f103][hal] printf 사용하기 (0) | 2017.09.12 |
5.[stm32f103][hal]usart1 polling (0) | 2017.09.12 |