凌阳科技大学计划论坛

首页 » 16位u'nSP平台技术讨论区 » barbara49请进
housigu - 2007-7-24 15:19:00

我现在要用中断来控制车从外部光电传感器检测到的黑线脉冲数

用C写,传感器加在IOB2,外部中断0口上

void IRQ3(void)__attribute__((ISR));            //接在IOB2口上void IRQ3(void){    count++;                 //中断计数器

    *P_INT_Clear = 0x0100;    }

主程序中

int main(void){

    *P_IOB_Dir=0x0f00;                                     //初始化IOB,IOB8~11同向输出;1为输出    *P_IOB_Attrib=0x0f00;                            //外部中断接在IOB2口    *P_IOB_Data=0x0004;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     *P_INT_Mask|=0x0100;                                //开中断IRQ3,EXT1,还有一种表示方式?C_IRQ3_EXT    __asm("int irq");

    while(1)    {        if (count==3)                                                                                             //如果count=3,执行限速子程序             Xiansu();             else    if (count==4)             TurnLeft();                 else         if (count==6)         {             Stop();                 count=0;}

*P_Watchdog_Clear=1;

}我只想知道这样能不能进入中断服务程序呢?初始化那些东西要怎么写呢?要设置上拉电阻输入么?

因为那些规范我都不清楚,你帮我看看吧,多谢阿

leajian - 2007-7-30 15:00:00

应该是可以进的

 1 
查看完整版本: barbara49请进