我想让 timer2 能够使用脉宽调制。我正在使用带有内部 8MHz 振荡器的PIC18F87J11 。我对 PIC 编程知之甚少,所以我想知道我的代码中还缺少什么来启用计时器。
#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 的设置是正确的。
还缺少什么?
提前致谢!