📄 dlt645.c
字号:
#include <reg51.h>
#include <main.h>
#include <dlt645.h>
#include <interrupt.h>
extern uchar rs485_buf[MAX_485_LEN];
extern uchar pointer_send,send_len;
extern uchar oper_len,send_offset,chk_sum;
extern bit flag_send_data;
uchar Get_Chksum(uchar *ps,uchar len)
{
uchar i,j=0;
for(i=0;i<len;i++)
j+=ps[i];
if(len>10)
{
for(i=10;i<len;i++)
ps[i]-=0x33;
}
return j;
}
/*
void Get_Send_Frame_Package(uchar len)
{
uchar i,j=0;
rs485_buf[8]|=0x80;
rs485_buf[9]=len;
for(i=0;i<len;i++)
rs485_buf[10+i]+=0x33;
for(i=0;i<len+10;i++)
j+=rs485_buf[i];
rs485_buf[i++]=j;
rs485_buf[i]=0x16;
}
*/
/*
void Send_Frame_To_485(void)
{
send_len=rs485_buf[9]+12;
pointer_send=1;
TI=0;
TB8=Get_Odd_Even_Bit(rs485_buf[0]);
SBUF=rs485_buf[0];
REN_TEN=HIGH;
}
*/
void Send_Frame_To_485(uchar len,uchar head)
{
flag_send_data=1;
ES=1;
oper_len=len; //len of sending data(L)
send_offset=head; //offset of sending buffer(spi_buf)
rs485_buf[8]|=0x80;
send_len=len+12;
pointer_send=1;
TI=0;
TB8=Get_Odd_Even_Bit(rs485_buf[0]);
chk_sum=rs485_buf[0];
REN_TEN=HIGH;
SBUF=rs485_buf[0];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -