interup.c
来自「51单片机同时读写3个ds18B20和一个SHT10」· C语言 代码 · 共 55 行
C
55 行
#include <3_ds.h>
void serial() interrupt 4
{
unsigned char p;
unsigned char a;
if (RI)
{
a=SBUF;
redata[0]=redata[1];
redata[1]=redata[2];
redata[2]=redata[3];
redata[3]=redata[4];
redata[4]=redata[5];
redata[5]=redata[6];
redata[6]=redata[7];
redata[7]=a;
RI=0;
}
if((redata[0]==0x01))
{
if(redata[1]==0x03)
{
//int485=1;
EA=0; //关总中断
sedata[0]=0x01;
sedata[1]=0x03;
sedata[2]=0x02;
sedata[3]=s.s_t[0];
sedata[4]=s.s_t[1];
sedata[5]=ds1.ds1_t[0];
sedata[6]=ds1.ds1_t[1];
sedata[5]=ds2.ds2_t[0];
sedata[6]=ds2.ds2_t[1];
sedata[5]=ds3.ds3_t[0];
sedata[6]=ds3.ds3_t[1];
sedata[7]=crc16(sedata,7,1);
sedata[8]=crc16(sedata,7,0);
for(p=0;p<11;p++)
{
SBUF=sedata[p];
while(!TI);TI=0;
}
EA=1; //开总中断
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?