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 + -
显示快捷键?