外部中断是RA3/INT4,我打算通过按键来产生中断,并在每次中断中实现D端口的低三位实现自加,不过通过示波器监测,端口输出都是高电平,没有任何变化,希望指点一下!!
急!!!!!!!
#include <p33fxxxx.h>
char INTType ;
int main(void)
{
_PLLPRE = 0 ; //N1 = 2
_PLLDIV = 38 ; //M = 38+2 = 40
_PLLPOST = 0 ; //N2 = 2
//FOSC = (8/2) * 40 / 2 = 80M
while(OSCCONbits.LOCK == 0) ; //等待PLL稳定
_DISI = 1 ; //使能DISI指令,部分内建函数需要
//设置portD为输出端口
TRISD=0xf8;
LATD=0;
//设置INT4/RA3
_TRISA3 = 1 ; //IO置输入
_INT4EP = 0 ; //INT4为上升沿中断,注意,级性定义与PIC32是相反的
_INT4IF = 0 ; //
_INT4IP = 7 ; //中断优先级别为7
_INT4IE = 1 ; //中断使能
INTType = 1 ; //初使化类型必须与INT4EP相反
void __attribute__((__interrupt__,no_auto_psv)) _INT4Interrupt(void)
{
_INT4IF = 0 ;
if(_INT4EP == 0) //如本次为上升沿中断
{
LATD++;
}
}
} |