有個(gè)測試 5V電源PWM頻率的程序看不太懂,還請高人指點(diǎn)!
void time0_init(void)
{
TCCR0 = 0x00;
TCNT0 = 0x00;
TIMSK|=(1<<TOIE0);//TIMER0 溢出中斷使能
}
ISR(TIMER0_OVF_vect) //TIMER0 溢出中斷
{
over_falg++;
}
l ast_time=0;
over_falg1=0;
over_falg =0;
sei();
i=0;
TCNT0=0x00;
DDRA=0X00;
do
{
i++;
if (i>=65000)
goto overtime;
}
while ((PINA & 0X08)==0X08);
i=0;
do
{
i++;
if (i>=65000)
goto overtime;
}
while ((PINA & 0X08) ==0X00);
i=0;
TCCR0|=(1<<CS01)|(1<<CS00);
do
{ i++;
if (i>=65000)
goto overtime;
}
while ((PINA & 0X08)==0X08);
i=0;
do
{
i++;
if (i>=65000)
goto overtime;
}
while ((PINA & 0X08 )==0X00);
over_falg1=over_falg;
last_time=TCNT0;
overtime:
send(over_falg1);
send(last_time);
TCCR0=0x00;
TCNT0=0X00;
|