irq.c

来自「智能小车的往返行驶,单片机实现,使用红外信号进行路面信号的采集」· C语言 代码 · 共 36 行

C
36
字号
#include "SPCE061V004.h"
#define   BACKWHEEL_ENA       0x0400         //L298端口11,对应IOB10
typedef unsigned int uint;
extern uint SpeedValue;  //档位值,从1-100
extern uint Time500ms;
unsigned int counter=0;
void KeyScan(); 
//1024HZ,做为'键'扫描的频率
void IRQ4(void) __attribute__ ((ISR)); 
void IRQ4(void) 
{ 
      
     KeyScan();
    *P_INT_Clear=C_IRQ4_1KHz|	C_IRQ4_2KHz  |	C_IRQ4_4KHz   ; 
 
} 
//2HZ,做为时钟频率
void IRQ5(void) __attribute__ ((ISR)); 
void IRQ5(void) 
{ 
      
     Time500ms++;
    *P_INT_Clear=	C_IRQ5_2Hz |	C_IRQ5_4Hz    ; 
 
} 
//1024HZ,做为PWM波形产生频率
void FIQ(void) __attribute__ ((ISR)); 
void FIQ(void) 
{ 
     
     if(counter<=SpeedValue) *P_IOB_Data |= BACKWHEEL_ENA;     //置高
     else                    *P_IOB_Data &= ~BACKWHEEL_ENA;    //置低
     if(counter<100) counter++;else counter=0;
    *P_INT_Clear=C_FIQ_TMA ; 
 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?