ATxmega128a1 产生不了外部中断 求指点
#include <avr/io.h>#include <util/delay.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#define uint unsigned int
void Init_Interrupt(void)
{
PORTK_PIN4CTRL=PORT_OPC_PULLUP_gc|PORT_ISC_FALLING_gc;;//上拉,下降沿触发
PORTK_INT0MASK=0x01;//开端口的外部中断
PORTK_INTCTRL=(PORTK.INTCTRL&~PORT_INT0LVL_gm)|PORT_INT0LVL_MED_gc;//中断级别
PMIC_CTRL |= PMIC_MEDLVLEN_bm|PMIC_HILVLEN_bm|PMIC_LOLVLEN_bm;//PIMC级别选择与上面中断相对应
}
int main(void)
{
PORTK.DIR &= 0xEF;//PD4端口作为输入
PORTC.DIR = 0xFF;//端口作为输出
PORTC.OUT=0xFF; //上电全高
Init_Interrupt();
sei();
while(1)
{
PORTC_OUT=0x0e;
}
}
ISR(PORTK_INT0_vect)
{
PORTC_OUT=0x01;
}
Xmega问题,到atmel网站呼叫官方的中文支持,或者抄一下asf的代码即可搞定。 我知道哪错了 MPCMASK没有对应我要输出的端口 改成 0x10;就对了因为我用的是PK4口
页:
[1]