我现在要用中断来控制车从外部光电传感器检测到的黑线脉冲数
用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;
}我只想知道这样能不能进入中断服务程序呢?初始化那些东西要怎么写呢?要设置上拉电阻输入么?
因为那些规范我都不清楚,你帮我看看吧,多谢阿
应该是可以进的