|
我用的是TINNY 2313,它的定时器0溢出中断向量是7,我用轮循环的方式是正常的,用中断方式不行.下面是代码,帮忙看下,解决了分全给.
#include
#include
//volatile
unsigned int cnt=0;
//int ss _at_ 0x00;
int main()
{
DDRB=0xFF;
TCNT0=55;
TIMSK =0x02;
TCCR0A = 0x00;
TCCR0B = 0x01;
PORTB=0xFF;
// sei();
while(1)
{
while(cnt<10000)
{
while(!(TIFR&(1<<1)));//轮循环方式
TCNT0=155;
TIFR&=0xFF;//清除溢出标志,置1相当于清0
cnt++;
}
cnt=0;
PORTB=~PORTB;
}
}
/*
#pragma interrupt_handler timer0_ovf_isr:7
void timer0_ovf_isr()//中断方式
{
TCNT0=55;
cnt++;
if(cnt>=1250)
{
cnt=0;
PORTB=~PORTB;
}
}
*/
|
|