RENESAS - AGT timer 설정
2022. 1. 28. 21:29ㆍ전공공부/마이크로프로세서 윈터캠프
성균관대학교 윈터캠프 <마이크로프로세서 - 전재욱 교수님>에서 실습한 내용 중 일부다.
Renesas RA6M3(176 pin) 계열의 칩을 선택했다. 그리고 IDE는 E2 studio를 활용했다.
2개의 외부 oscillator와 3개의 on-chip oscillator를 활용해 다양한 주파수를 사용가능하다. AGT는 Asynchronous General-purpose Timer로 16bit타이머고 rising edge마다 count value를 감소시킨다. underflow 발생 시마다 interrupt를 발생시킨다.
E2 studio에서는 stack configuration으로 간단하게 세팅이 가능하다.
- stacks configuration
new stack에서 timer를 만들 수 있다.
name과 channel을 설정하고 period, period unit, count source를 조정가능하다. 이외에도 callback함수를 지정할 수 있다. 자세한 건 데이터시트를 살펴보면 된다.
- code
void R_AGT0_Interrupt(timer_callback_args_t *p_args){ //when underflow, interrupt occur
FSP_PARAMETER_NOT_USED(p_args);
if(agt_counter >= 1000) agt_counter=0;
agt_counter++;
}
이런식으로 콜백함수안은 원하는 대로 지정할 수 있다.
R_AGT_Open(&g_timer0_ctrl, &g_timer0_cfg);
R_AGT_Start(&g_timer0_ctrl);
마찬가지로 main함수안에 setting을 다음과 같이 설정한다. open 하고 start하면 count를 센다.
'전공공부 > 마이크로프로세서 윈터캠프' 카테고리의 다른 글
RENESAS - DAC, audio conversion (0) | 2022.02.02 |
---|---|
RENESAS - 실습1 (0) | 2022.02.02 |
RENESAS - 버튼 설정(Interrupt) (0) | 2022.01.28 |
RENESAS - 7 segment(FND) 제어 (0) | 2022.01.28 |
RENESAS - LED 제어 (0) | 2022.01.28 |