凌阳科技大学计划论坛

首页 » 16位u'nSP平台技术讨论区 » 求助:中断计数
housigu - 2007-7-26 10:06:00

我想在中断服务程序中实现用一个变量count 计数功能,然后在主程序中判断count=多少,根据计的数执行哪个子函数。

可是发现中断中count只进行一次,后来不再自加,也就是count=1,不管中断几次,朱程序中只执行xiansu()子程序。

count我设置为全局变量,是不是中断中的计数传不到主程序中呢/?

unsigned int count;

//中断服务程序void IRQ3(void)__attribute__((ISR));            //接在IOB2口上void IRQ3(void){     count+=1;    *P_INT_Clear = 0x0100;}

//主函数

int main(void){                    *P_IOB_Dir=0x0f00;                                //初始化IOB,IOB8~11同向输出;1为输出    *P_IOB_Attrib=0x0f00;                            //外部中断接在IOB2口    *P_IOB_Data=0x0004;                                                                                                                 //IOB2为上拉输入                                                                                                                                                                                                                                                                                                                                                                                                                                         *P_INT_Mask|=0x0100;                                      //开中断IRQ3,EXT1,还有一种表示方式?C_IRQ3_EXT    __asm("int irq");                    while(1)    {        if (count==1)                              GoAhead();             else             if (count==2)             TurnLeft();             else         if (count==6)         {    GoAhead();                 count=0;}         else                         BackUp();    }    }

蔡星 - 2007-7-26 10:09:00
好象没有清狗
hb0127 - 2008-8-9 13:45:00
只在下降沿触发中断
iob2介个开关
通过按键自加
 1 
查看完整版本: 求助:中断计数