STM32F4 Clock
- STM32F429의 Clock은 최대 180MHz 속도
- 외부에 clock, 오실레이터를 달아야 보통 cpu가 작동하는데 이친구는 내부에 크리스털이 있어서 필요없음
CPU clock 설정
- HSE : High Speed External : 외부 빠른속도 클럭 설정
- HSI : High Speed Internal : 내부 빠른속도 클럭 설정
- LSE : Low Speed External : 외부 느린속도 클럭설정(32.728KHz)
- LSI : Low Speed External : 내부 느린속도 클럭설정(32KHz)
회도로 보는 클럭![](https://velog.velcdn.com/images%2Fpsh4204%2Fpost%2Fca8dcebc-4733-4f53-aafa-361454f003f9%2Fimage.png)
- X3는 외부 크리스털이지만 N/A(없음) 상태 -> HSE 불가능
![](https://velog.velcdn.com/images%2Fpsh4204%2Fpost%2F7a3c5088-59bd-4c93-8e3a-e2a3ab91f423%2Fimage.png)
- X2는 외부 크리스털이며 LSE로 사용 가능.
- LS : Low Speed. 초단위 시간을 재는 속도. 32.728KHz가 초단위로서 정확하다.
LSE로 설정하는 과정
- System Core -> RCC -> LSE ( Crystal/Ceramic Resonator )
- Activate Clock Source 설정
- LSE로 설정
타이머 종류 5가지
-
Systick | WatchDoc Timer | Basic Timer | General purpose Timer | Advanced-control Timer |
---|
- SysTick : 시스템 틱. 항상동작하는 시스템 타이머 ( 항상 1ms 단위 동작하는 인터럽트 발생 )
- WatchDog Timer : CPU의 오동작을 탐지하여 문제가 발생하면 재부팅 시켜주는 타이머
- Baci Timer : 입출려기능없음. 시간기반 타이머.
- General purpose Timer : 범용타이머, 출력비교, 원펄스, 입력캡쳐 등으로 사용되는 타이머
- Advanced-control Timer : 범용타이머 보다 기능이 많음. 모터제어, 디지털 파워변환 용도
타이머 특징 분류
- 카운터 해상도 : 16비트 또는 32비트로 구성
- 카운터 타입 : Up , Up or Down, Up & Down
- DMA를 사용할 수 있는 타이머
타이머 레지스터
- Counter Register : 카운터 값 자체를 저장하는 레지스터. 종류마다 up down 호환
- Prescaler register : 분주비 레지스터. 공급되는 클럭을 1~65536 범위로 나누어 분주비 설정하는 레지스터
- Auto Reload Register : 카운터 주기 레지스터
- Capture/ Compare_Reg : 캡쳐/비교기 레지스터.
General Purpose Timer를 사용한 타이머 설정
- Timer에서 공급되는 버스 'Clock속도, Prescaler값, Peroid 값'
- 위의 세가지를 만져야 원하는 주기를 발생시킬 수 있다.
- Period (1/APB1) Prescaler
- 0.01초 = 900 (1/90MHz) 1000