📄 lin_api.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 + -