📄 inrruptfunction.c
字号:
/*********************************************************************************************************
* 中断函数
*********************************************************************************************************/
#include " STC89C58RD.H"
#include "ColInfraDelayTime.h"
/*********************************************************************************************************
*i,表示的是数组元素;Sbufdat[]存放串口数据;
*********************************************************************************************************/
unsigned char Infraredat=0,Sbufdat[2],Readright=0,i=0,Start=0;
unsigned int Ticks;
/********************************************************************************************************
* EXT0800HZ()
* 函数名称 : EXT0800HZ()
* 功能描述 : 外部中断函数,提供800HZ始终节拍
* 输 入 : 外部800HZ中断
* 输 出 :
* 全局变量 : Ticks
* 调用模块 : ColInfraredDat()
*
********************************************************************************************************/
void EXT0800HZ() interrupt 0
{
Disabled_Ext0_Inr();
Ticks++;
Enabled_Ext0_Inr();
}
/********************************************************************************************************
* serial_interrupt_services(void)
* 函数名称 : serial_interrupt_services(void)
* 功能描述 : 串口中断函数
* 全局变量 : Infrared_Dat
* 调用模块 : send_char();
*
********************************************************************************************************/
void serial_interrupt_services(void) interrupt 4
{
Disabled_Serial_Inr();
if(RI){ RI=0;
Infraredat=SBUF;
Readright=1;
}
if(TI){
// TI=0;
}
Enabled_Serial_Inr();
}
unsigned char GetSC()
{
unsigned char Sdat;
Sdat=Infraredat;
return Sdat;
}
void SerialSC(char dat)
{
Disabled_Serial_Inr();
SBUF = dat;
while(!TI);
TI=0;
Enabled_Serial_Inr();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -