📄 isr.c
字号:
/*
ISR.C file
*/
#include "ISR.h"
#include <aduc841.h>
#include "ad9958.h"
unsigned char receive_count;
unsigned char receive_buffer[9];
unsigned char receive_end;
void Exterior_0_interrupt(void) interrupt 0
{
}
void Count_0_interrupt(void) interrupt 1
{
}
void Exterior_1_interrupt(void) interrupt 2
{
}
void Count_1_interrup(void) interrupt 3
{
}
//******************************* 串口中断处理 ***********************************
unsigned char sending;
void serial_port(void) interrupt 4
{
EA=0;
if(RI) //表示接收到数据
{
if(SBUF==0xee)
{
receive_count=0;
RI=0;
EA=1;
return;
}
if(SBUF==0xdd)
{
receive_end=1;
RI=0;
EA=1;
return;
}
receive_buffer[receive_count]=SBUF;
receive_count++;
RI=0;
EA=1;
return;
}
else
{
TI=0;
sending=0; //清正在发送标志
}
EA=1;
}
//*****************************************************************************************
/*--------------------------------------------------------------------------
定时-计数器2中断
采用定时方式,10ms中断一次
---------------------------------------------------------------------------*/
extern unsigned char code_sequence;
void Count_2_interrupt(void) interrupt 5
{
TF2=0;
DIN_P3=!(0x80 & code_sequence);
if((code_sequence & 0x80)==0x80)
{
code_sequence<<=1;
code_sequence++;
}
else
{
code_sequence<<=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -