timer2가 펄스 폭 변조를 사용할 수 있도록 설정하려고합니다. 내부 8MHz 오실레이터와 함께 PIC18F87J11을 사용하고 있습니다. 필자는 PIC 프로그래밍에 대한 최소한의 지식을 가지고 있으므로 타이머를 사용하려면 코드에서 누락 된 것이 무엇인지 알고 싶습니다. PIC18에서 타이머 2를 활성화하는 방법은 무엇입니까?
#define TMR2_IF PIR1bits.TMR2IF
#define TMR2_IE PIE1bits.TMR2IE
#define TMR2_IP IPR1bits.TMR2IP
#define TMR2_CON T2CON
내가 아직 배치 할 위치를 모르는 코드의 지금
void main()
{
TMR2_CON = 0b00000100 | CLOCK_DIVIDER_SETTING; // CLOCK_DIVIDER_SETTING = 4
TMR2_IF = 0;
TMR2_IE = 1;
TMR2_IP = 1;
while(1);
}
나머지의이 내 주요 코드입니다 가정 해 봅시다.
if(TMR2_IF)
{
printf("\r\nHello");
if(TMR2_IE)
{
TMR2_IF = 0;
}
}
내가 인터럽트 서비스 루틴가 필요하십니까? 예인 경우 어떻게 추가합니까? 내 목표는 내가 아직 거기에 도착하지 않은 PWM을 사용하는 것입니다 기억하지만, 지금은 timer2에 대한 설정이 올바른지 확인하고자합니다.
그 밖의 무엇이 누락 되었습니까?
미리 감사드립니다.
어떤 생각을 아직까지? – Ammar
어떤 컴파일러를 사용하고 있습니까? –
MPLAB C18을 사용 중입니다. – Ammar