单片机是mega2560,程序已经够短了,PORTB7引脚永远都是高电平,中断有点像是复位,我真的没招了
代码::
#include <avr/io.h>
#include <avr/interrupt.h>
int main(void)
{
DDRB=0x80;
PORTB=0x00;
EICRA=0x02;
EIMSK=0x01;
sei();
while(1)
{
//TODO:: Please write your application code
}
}
ISR(INT0_vect)
{
PORTB=~PORTB;
}
求帮忙
此帖出自
小平头技术问答
程序里少了对中断引脚的设置,DDRD=0x00;PORTD=0x01;但是加上也不行的。中断没有开错。对了,吧ISR里的中断向量改成别的向量,PORTB7就能输出低电平。不然从开机开始就是高电平,LED一直亮着,应该是系统一直在复位导致的。哎,头疼死了,换个编辑器想方便点,结果连个中断都不会用了
{
PORTB=~PORTB;
}
这样试试
试了,还是不行,头疼死了
#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
#include <avr/interrupt.h>
int main(void)
{
DDRB=0x80;
PORTB=0x80;
DDRD=0x00;
PORTD=0x01;
EICRA=0x02;
EIMSK=0x01;
sei();
while(1)
{
}
}
/*ISR(INT0_vect)
{
PORTB=0x00;
}*/
ISR(__vector_default)
{
PORTB=~PORTB;
}
一周热门 更多>