📄 inter.c
字号:
#include "spce061a.h"
#include "MyBit.h"
long Fre_Div_A=0; //定义频率存放变量,不是真正的频率,而是特定时间内的脉冲数量
long Fre_Div_B=0;
long Fre=0; //频率
int TranCompleteFlag=0; //转换完成标志
int Count=0;
long Count_Buf=0;
unsigned int TimerA_data=0;
/*void IRQ3(void) __attribute__ ((ISR));
void IRQ3(void)
{
__asm("irq off");
if(*P_INT_Ctrl&C_IRQ3_EXT1)
{
*P_INT_Clear=C_IRQ3_EXT1; //清除中断标志
Fre_Div_A+=1; //外部中断1每中断一次,
if(Fre_Div_A==1000)
{
Fre_Div_B+=1;
Fre_Div_A=0;
}
}
else ;
__asm("irq on");
}*/
void IRQ3(void) __attribute__ ((ISR));
void IRQ3(void)
{
//__asm("irq off");
if(*P_INT_Ctrl&C_IRQ3_EXT1)
{
*P_INT_Clear=C_IRQ3_EXT1; //清除中断标志
Count_Buf=Count;
TimerA_data=*P_TimerA_Data;
Count=0;
*P_TimerA_Data=0;
}
else ;
//__asm("irq on");
}
void IRQ5(void) __attribute__ ((ISR));
void IRQ5(void)
{
if(*P_INT_Ctrl&C_IRQ5_4Hz)
{
*P_INT_Clear=C_IRQ5_4Hz;
Fre=(Fre_Div_B*1000+Fre_Div_A)*4;
TranCompleteFlag=1; //转换完成标志
Fre_Div_B=0;
Fre_Div_A=0;
}
else ;
}
void IRQ1(void) __attribute__ ((ISR));
void IRQ1(void)
{
if(*P_INT_Ctrl&C_IRQ1_TMA)
{
*P_INT_Clear=C_IRQ1_TMA;
Count+=1;
}
else ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -