atmega8515的问题,救命啊
本帖最后由 lazybones 于 2012-10-26 15:07 编辑//芯片atmega8515
#include <avr/io.h>
void cli()
{
SREG &= 0x7f;
}
void fTimerInit()
{
TCCR0 = 0x01; //无分频
TIMSK = 0x02; //开中定时器0溢出
}
void sei()
{
SREG |= 0x80;
}
void main()
{
cli();
fTimerInit();
sei();
while(1)
{
}
}
ISR(TIMER0_OVF_vect)
{
PORTA = 0x00;
}
进不去中断,定时器0溢出的时候芯片重启了,求帮助啊....救命 定时器初始化的时候给数据寄存器赋值了吗?TCNT0=??还有既然是定时器溢出中断,为什么中断里没有给TCNT0赋值?! 不赋值就是0-255吧,也不应该芯片重启啊 /*
* avr8515.c
*
* Created: 2012/10/26 星期五 13:36:01
*Author: Administrator
*/
#include <avr/io.h>
#include <avr/interrupt.h>
#ifndef F_CPU
#define F_CPU 8000000UL
#endif
void Time0_Init(void)
{
TCCR0 = 0x02;
TIMSK = 0x02;
TIFR = 0x00;
TCNT0 = 0;
}
void Port_Init(void)
{
DDRC = 0xFF;
PORTC = 0x00;
}
int main(void)
{
Port_Init();
Time0_Init();
sei();
while(1)
{
//TODO:: Please write your application code
}
}
ISR(TIMER0_OVF_vect)
{
PORTC ^= 0x55;
} #include <avr/interrupt.h>
这个包涵进去试试 本帖最后由 lazybones 于 2012-11-6 10:42 编辑
在while()中没有语句会影响到中断吗?
我软件彷真的时候好像老进去,出不来,但在while(1)中随便加一句就好了
页:
[1]