灵异事件-Timer2运于同步计数器,中断服IF不能清除。

[复制链接]
2113|2
 楼主| weixiong88 发表于 2011-11-22 09:41 | 显示全部楼层 |阅读模式
//外部脉冲输入端T2CK,输入4个高脉冲(外置按键控制),将使_LATD7控制的LED反转!
//但是发现在中断服务子程序中,IF标志不能清除。希望高手指点一二!
#include <p30f6014A.h>

_FOSC(CSW_FSCM_OFF & XT_PLL4);
_FWDT(WDT_OFF);
_FBORPOR(MCLR_EN & PBOR_OFF);
_FGS(CODE_PROT_OFF);

#define fcy 7372800
unsigned int ch1=0,ch2=0,ch3=0,jp=0;

void init(void)
{

INTCON1=0;
INTCON2=0;


IEC0=0;
IEC1=0;
IEC2=0;



T2CON=0;


TMR2=0;


PR2=8;
//
记录4

      

_T2IF=0;
_T2IP=5;
_T2IE=1;


T2CON=0x8002;
//
开启TON
;1:1
分频; 外部时钟

      

_LATD7=1;
TRISD=0;


ch1=0,
ch2=0,
ch3=0;

}

void __attribute__((__interrupt__,auto_psv)) _T2Interrupt(void)
{


_T2IE=0;


ch2=TMR2;


_T2IF=0;


_LATD7=!_LATD7;


ch3=TMR2;


_T2IE=1;

}

int main()
{

init();


while(1)


{


jp++;


ch1=TMR2;


jp--;


}


return 0;

}
 楼主| weixiong88 发表于 2011-11-22 17:00 | 显示全部楼层
怎么没人爱心帮助呢?我自己先顶顶!
扣扣宝123 发表于 2011-11-22 17:10 | 显示全部楼层
恩恩有道理哈~~~~~~~~~~~~~~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部