⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lin_api.c

📁 LIN BUS 部分原代码
💻 C
字号:
#define LIN_API_GLOBALS

#include "reg52.h"
#include "lin_cfg.h"

#define led932_left			0
#define led932_right		1
#define led932_error		2
#define led932_around		3


code t_header signal_head[]=
		{
		{0x02,2},
		{0x12,2}
		};

l_u8 code ID_FIELD[4][16]={
							{0X80,0XC1,0X42,0X03,0XC4,0X85,0X06,0X47,0X08,0X49,0XCA,0X8B,0X4C,0X0D,0X8E,0XCF},
							{0X50,0X11,0X92,0XD3,0X14,0X55,0XD6,0X97,0XD8,0X99,0X1A,0X5B,0X9C,0XDD,0X5E,0X1F},
							{0X20,0X61,0XE2,0XA3,0X64,0X25,0XA6,0XE7,0XA8,0XE9,0X6A,0X2B,0XEC,0XAD,0X2E,0X6F}, 
							{0XF0,0XB1,0X32,0X73,0XB4,0XF5,0X76,0X37,0X78,0X39,0XBA,0XFB,0X3C,0X7D,0XFE,0XBF},
						   };



l_u8 led932_signal[8];
code l_u8 led932_left_cmd_frame[]={0x00,0x00};
code l_u8 led932_right_cmd_frame[]={0x01,0x00};
code l_u8 led932_error_cmd_frame[]={0x02,0x00};
code l_u8 led932_around_cmd_frame[]={0x04,0x00};
code l_u8 led932_sta_frame[]={0x00,0x00};
code l_u8 led932_ok_frame[]={0x00,0xaa};

extern unsigned char display(unsigned char  *sd);
void l_ifc_init_932led(void)
{
//进度表初始化
//波特率
}
l_bool l_ifc_connect_932led(void)
{
	if(l_send_break())
	{
		return(1);
	}
	l_delay(TICKSPERBIT*4);
	l_send_bytes(0x55);
	
	l_send_bytes(id_932led);//可以加ID_Table[]
	l_send_bytes(5);//可以加led932_signal
	l_send_bytes(0x1c);
	l_send_bytes(0xDE);
	if(l_rec_data(response_data.DATA,2))//可以加ID_Table[]
	{
		return 1;
	}
	else if((response_data.DATA[0]==0x06)&&(response_data.DATA[1]==0x1C))//可以加led932_signal
	{
	display(response_data.DATA);
	response_data.DATA[1]=0;
	//while(1);
		TR2=1;
		return(0);
	}
}
/*
void l_sch_set_932led(l_schedule_handle sch,l_u8 ent)
{
;
}*/
l_bool l_flg_tst_5ms(void)
{
	return flag_5ms;
}
l_bool l_flg_tst_932led(void)
{
	return flag_932led;
}
void   	l_flg_clr_5ms()
{
	flag_5ms=0;
}
void   	l_flg_clr_932led()
{
    flag_932led=0;
}
void   l_u8_wr(l_signal_handle sss,l_u8 v)
{	
	l_send_break();
	//l_delay(TICKSPERBIT);
	l_send_bytes(0x55);
	l_send_bytes(sss.id);
	led932_signal[0]=v;
	l_send_data(led932_signal,sss.length);
	led932_signal[0]=0;
}
void   l_u8_ptr_wr(l_signal_handle sss,l_u8 *wr_ptr)
{
	l_send_break();
	//l_delay(TICKSPERBIT);
	l_send_bytes(0x55);
	l_send_bytes(sss.id);
	l_send_data(wr_ptr,sss.length);
}
l_u8   l_u8_rd(l_signal_handle sss)
{
	l_send_break();
	l_delay(TICKSPERBIT);
	l_send_bytes(0x55);
	l_send_bytes(sss.id);
	l_send_data(led932_signal,sss.length);
	l_rec_data(response_data.DATA,sss.length);
	display(response_data.DATA);
	return response_data.DATA[0];
}
void l_u8_ptr_rd(l_signal_handle sss,l_u8 * rd_ptr,l_u8 num)
{
	l_send_break();
	l_delay(TICKSPERBIT);
	l_send_bytes(0x55);
	l_send_bytes(sss.id);
	l_send_data(led932_signal,sss.length);
	l_rec_data(response_data.DATA,sss.length);
	for(;num>0;num--)
	{
		rd_ptr[num-1]=response_data.DATA[num-1];
	}
}
void l_t2_isr() interrupt 5
{
static ms_cout=0;
	TH2=0XEE;
	TL2=0X00;
	ms_cout++;
	if(ms_cout==40)
	{
		ms_cout=0;
		flag_5ms=1;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -