ARM Cortex M3 Programming2 - Counters, Timers
ARM Cortex M3 프로그래밍2 - 카운터, 타이머
- SysTick
: ->CTRL: SysTick Timer 설정 및 제어
: ->CALIB: Timer 조정 값
: ->LOAD: Timer 초기값 지정. TimeOut시 타이머로 Reload
: ->VAL: timer의 현재값 표시. timer 시작 시 LOAD값 가져옴
- 타이머
: TIM1~14내장. 그룹 별로 기능 상이
: TIM2~5: 16비트 범용 타이머. 각 타이머마다 4개의 독립 채널 존재
: PSC 값을 기준 주기로 하여 카운트 -> CNT==ARR이면 expired
: PreSCaler: 타이머의 기준 주파수 변경. 몇 틱마다 카운트할 지 결정
: 내부에 PSC 버퍼를 가짐. PSC 값 변경하여 기준 주파수 변경하는 것
: PSC 값을 변경해도 업데이트 이벤트가 발생해야 변경된 값이 적용됨
: Down 카운트와 Up 카운트 존재
: TIMx->CR1: 타이머 기본 설정
: TIMx->DIER: 타이머의 DMA와 인터럽트 설정
: TIMx->SR: 타이머의 상태 파악
: TIMx->EGR: 타이머의 이벤트 발생 레지스터( 0번 비트 1 -> 이벤트 발생 -> ARR, PSC 값 변경
(
- SysTick
: ->CTRL: SysTick Timer setup and control
: ->CALIB: Timer adjustment value
: ->LOAD: Timer initial value designation. Reload with timer at TimeOut
: ->VAL: Displays the current value of the timer. Get LOAD value when timer starts
- timer
: Built-in TIM1~14. Functions vary by group
: TIM2~5: 16-bit universal timer. 4 independent channels for each timer
: Count based on PSC value -> expired if CNT==ARR
: PreSCaler: Change the reference frequency of the timer. Decide how many ticks to count
: It has PSC buffer inside. Changing the reference frequency by changing the PSC value
: Even if the PSC value is changed, an update event must occur for the changed value to be applied.
: Down count and Up count exist
: TIMx->CR1: Timer default setting
: TIMx->DIER: DMA and interrupt setting of timer
: TIMx->SR: Check the status of the timer
: TIMx->EGR: Timer event generation register ( bit 0 bit 1 -> event generation -> ARR, PSC value change
)
ARM 매뉴얼 보기
https://developer.arm.com/ip-products/processors/cortex-m/cortex-m3
본 게시글은 개인 공부용으로 작성하여 내용의 퀄리티가 부족할 수 있습니다.
상세한 회로도나 스펙을 보시려면 arm 매뉴얼 참고 바랍니다.
(This post was written for personal study, so the quality of the content may be lacking.
For detailed circuit diagrams and specifications, please refer to the arm manual.)
(추천) Qt QML과 C++로 시작하는 크로스플랫폼 앱 개발 강의 - 입문편
'Development Solutions > Embedded System' 카테고리의 다른 글
RTOS 3 - ECB (0) | 2022.08.20 |
---|---|
RTOS 2 - uC/OS real-time kernel architecture (RTOS 2 - uC/OS 실시간 커널 구조) (0) | 2022.08.20 |
RTOS 1 - Overview (RTOS 1 - 개요) (0) | 2022.08.20 |
ARM Cortex M3 Programming3 - Interrupts, NVIC, DMA (ARM Cortex M3 프로그래밍3 - 인터럽트, NVIC, DMA) (0) | 2022.08.20 |
ARM Cortex M3 Programming1 - Overview, GPIO, UART Control (ARM Cortex M3 프로그래밍1 - 개요, GPIO, UART 제어) (0) | 2022.08.20 |