E015.D.011-FXLS90230/Drivers/BSP/agreement.c

475 lines
12 KiB
C
Raw Permalink Normal View History

2025-04-24 11:37:10 +08:00
#include "agreement.h"
#include "system.h"
QUEUE_DATA RecQueue;
WORK_TIME WorkTime;
SYS_DATA s_Data;
//GET_DATA_FREQUENCY data_parameter[20]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>
void RecQueueInit(void)
{
RecQueue.front=0;
RecQueue.rear=0;
}
void Float2char(unsigned char *Data,float Fldata)
{
Data[0]=(unsigned char)(((int)(Fldata))&0x00FF);
Data[1]=(unsigned char)(((((int)(Fldata)))&0xFF00)>>8);
}
void SysDataInit(void)
{
s_Data.ReceiveOffset=0;
s_Data.ReceiveOKFlag=_FALSE;
s_Data.UartStaus=Receive_head;
s_Data.Allow_GetData_Flag = 0; //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA>ֹ<EFBFBD>ɼ<EFBFBD>
s_Data.Allow_GetData_Count = 0; //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
RecQueueInit();
}
uint8_t PushQueue(QUEUE_DATA *que_data,uint8_t data)
{
if((que_data->rear+1)%(RECEIVE_BUFFSIZE)==que_data->front)// full
{
return 0;
}
else
{
que_data->Buf[que_data->rear]=data;
que_data->rear=(que_data->rear+1)%(RECEIVE_BUFFSIZE);
return 1;
}
}
uint8_t PopQueue(QUEUE_DATA *que_data,uint8_t* data)
{
if(que_data->rear==que_data->front)//empty
{
return 0;
}
else
{
*data = que_data->Buf[que_data->front];
que_data->front =(que_data->front+1)%(RECEIVE_BUFFSIZE);
return 1;
}
}
//˫<><CBAB>ַ<EFBFBD>жϳ<D0B6><CFB3><EFBFBD>
void Uart1_Sevice(void)
{
uint8_t temp = 0;
if(s_Data.ReceiveOKFlag==_FALSE)
{
if(PopQueue(&RecQueue,&temp))
{
switch (s_Data.UartStaus)
{
case Receive_head:
{
if(temp == HEAD_AB)
{
s_Data.ReceiveBuf[s_Data.ReceiveOffset++]=temp;
s_Data.UartStaus=Receive_addr;
g_Data.Uart1RcvOverTime = 500;
}
};
break;
case Receive_addr:
{
if(temp == ADDRESS_NB) //<2F><EFBFBD><E3B2A5>ַ<EFBFBD><D6B7>ԭ<EFBFBD><D4AD>ַ0A
{
s_Data.ReceiveBuf[s_Data.ReceiveOffset++]=temp;
s_Data.UartStaus=ReceiveSend_addr; //<2F><>Ϊ<EFBFBD><CEAA>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ַ״̬
s_Data.IsOneSlaveAddrFlag = 1; //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ַ
g_Data.Uart1RcvOverTime = 500;
}
else if(temp == HEAD_AB)
{
s_Data.ReceiveOffset = 1;
s_Data.UartStaus=Receive_addr;
g_Data.Uart1RcvOverTime = 500;
}
else
{
s_Data.ReceiveOffset = 0;
s_Data.UartStaus=Receive_head;
}
};
break;
case ReceiveSend_addr: //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ַ״̬
{
if(temp == ADDRESS_HOST) //<2F><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ַ0x34 0x21
{
s_Data.ReceiveBuf[s_Data.ReceiveOffset++]=temp;
g_Data.Uart1RcvOverTime=500;
s_Data.IsTwoHostAddrFlag = 2; //<2F><><EFBFBD><EFBFBD>Ϊ˫<CEAA><CBAB>ַ
}
else if((temp == ADDRESS_SEC)||(temp == ADDRESS_FAR)) //<2F><>ַ0A <20><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6>ֽڵ<D6BD>ַ 0x21
{
s_Data.ReceiveBuf[s_Data.ReceiveOffset++]=temp;
s_Data.UartStaus=Receive_data; //<2F><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
g_Data.Uart1RcvOverTime=500;
}
else if(temp == HEAD_AB)
{
s_Data.ReceiveOffset = 1;
s_Data.UartStaus=Receive_addr;
g_Data.Uart1RcvOverTime=500;
}
else //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ַ
{
s_Data.ReceiveBuf[s_Data.ReceiveOffset++]=temp;
s_Data.UartStaus=Receive_data;
g_Data.Uart1RcvOverTime = 500;
s_Data.IsTwoHostAddrFlag = 1; //<2F><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ַ
}
};
break;
case Receive_data:
{
s_Data.ReceiveBuf[s_Data.ReceiveOffset++]=temp;
if(s_Data.IsTwoHostAddrFlag == 1)
{
if(s_Data.IsOneSlaveAddrFlag == 2) //<2F>ӻ<EFBFBD>˫<EFBFBD><CBAB>ַ
{
if((s_Data.ReceiveOffset>=5)&&(s_Data.ReceiveOffset>=s_Data.ReceiveBuf[4]+5))
{
s_Data.UartStaus = Receive_crc;
g_Data.Uart1RcvOverTime = 500;
}
}
else if(s_Data.IsOneSlaveAddrFlag == 1) //<2F>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD><EFBFBD>ַ
{
if((s_Data.ReceiveOffset>=4)&&(s_Data.ReceiveOffset>=s_Data.ReceiveBuf[3]+4))
{
s_Data.UartStaus = Receive_crc;
g_Data.Uart1RcvOverTime = 500;
}
}
}
else if(s_Data.IsTwoHostAddrFlag == 2)
{
if((s_Data.ReceiveOffset>=5)&&(s_Data.ReceiveOffset>=s_Data.ReceiveBuf[4]+5))
{
s_Data.UartStaus = Receive_crc;
g_Data.Uart1RcvOverTime = 500;
}
}
};
break;
case Receive_crc:
{
s_Data.ReceiveBuf[s_Data.ReceiveOffset++]=temp;
if(s_Data.IsTwoHostAddrFlag == 1) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>ַ
{
if(s_Data.IsOneSlaveAddrFlag == 2) //<2F>ӻ<EFBFBD>˫<EFBFBD><CBAB>ַ
{
if(data_crc8((uint8_t*)&(s_Data.ReceiveBuf[0]),s_Data.ReceiveBuf[4]+5)==s_Data.ReceiveBuf[s_Data.ReceiveBuf[4]+5])
{
s_Data.UartStaus = Receive_busy;
s_Data.ReceiveOKFlag=_TRUE;
g_Data.Uart1RcvOverTime = 500;
s_Data.Allow_GetData_Flag = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳɹ<DDB3><C9B9><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD>ݲɼ<DDB2> 22.5.10
}
else
{
s_Data.UartStaus = Receive_head;
s_Data.ReceiveOffset=0;
g_Data.Uart1RcvOverTime = 0;
}
}
else if(s_Data.IsOneSlaveAddrFlag == 1) //<2F>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD><EFBFBD>ַ
{
if(data_crc8((uint8_t*)&(s_Data.ReceiveBuf[0]),s_Data.ReceiveBuf[3]+4)==s_Data.ReceiveBuf[s_Data.ReceiveBuf[3]+4])
{
s_Data.UartStaus = Receive_busy;
s_Data.ReceiveOKFlag=_TRUE;
g_Data.Uart1RcvOverTime = 500;
s_Data.Allow_GetData_Flag = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳɹ<DDB3><C9B9><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD>ݲɼ<DDB2> 22.5.10
}
else
{
s_Data.UartStaus = Receive_head;
s_Data.ReceiveOffset=0;
g_Data.Uart1RcvOverTime = 0;
}
}
}
else if(s_Data.IsTwoHostAddrFlag == 2) //<2F><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>ַ
{
if(data_crc8((uint8_t*)&(s_Data.ReceiveBuf[0]),s_Data.ReceiveBuf[4]+5)==s_Data.ReceiveBuf[s_Data.ReceiveBuf[4]+5])
{
s_Data.UartStaus = Receive_busy;
s_Data.ReceiveOKFlag=_TRUE;
g_Data.Uart1RcvOverTime = 500;
s_Data.Allow_GetData_Flag = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳɹ<DDB3><C9B9><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD>ݲɼ<DDB2> 22.5.10
}
else
{
s_Data.UartStaus = Receive_head;
s_Data.ReceiveOffset=0;
g_Data.Uart1RcvOverTime = 0;
}
}
}
break;
case Receive_busy:
{
};
break;
default:
break;
}
}
}
}
//<2F><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>Ŀ<EFBFBD>ĵ<EFBFBD>ַ<EFBFBD><D6B7>ԭ<EFBFBD><D4AD>ַ<EFBFBD><D6B7><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ݵij<DDB5><C4B3>ȡ<EFBFBD>
void SwapAddr_DataLen(uint8_t data_len)
{
s_Data.ReceiveBuf[1] = s_Data.ReceiveBuf[2]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>
s_Data.ReceiveBuf[2] = ADDRESS_NB;
s_Data.ReceiveBuf[3] = data_len; //<2F><><EFBFBD><EFBFBD>
}
//<2F><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>Ŀ<EFBFBD>ĵ<EFBFBD>ַ<EFBFBD><D6B7>ԭ<EFBFBD><D4AD>ַ<EFBFBD><D6B7><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ݵij<DDB5><C4B3>ȡ<EFBFBD>
void IsOneAddr_DataLen(uint8_t data_len)
{
s_Data.ReceiveBuf[1] = s_Data.ReceiveBuf[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>
//s_Data.ReceiveBuf[2] = s_Data.ReceiveBuf[4]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>
s_Data.ReceiveBuf[2] = ADDRESS_NBF;
s_Data.ReceiveBuf[3] = ADDRESS_NBT;
s_Data.ReceiveBuf[4] = data_len; //<2F><><EFBFBD><EFBFBD>
}
//<2F>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>-1
int my_strncmp(uint8_t *pstr1, uint8_t *pstr2, int16_t len)
{
while ( len -- )
{
if((*pstr1 ++) != (*pstr2 ++))
{
return -1;
}
}
return 0;//<2F><><EFBFBD>رȽϽ<C8BD><CFBD><EFBFBD>
}
//<2F><>ȡʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>
void r_GetData(void)
{
unsigned char i;
for(i = 0;i < 18;i++)
{
s_Data.ReceiveBuf[i+6] = s_Data.ucMeasureData[i];
}
// SwapAddr_DataLen(19);
IsOneAddr_DataLen(19);
s_Data.ReceiveBuf[24]=data_crc8((uint8_t *)&(s_Data.ReceiveBuf[0]),24);
UART_SendStr((uint8_t *)&(s_Data.ReceiveBuf[0]),25); //<2F><><EFBFBD>ʹ<CDB4><E6B4A2><EFBFBD>񶯾<EFBFBD><F1B6AFBE><EFBFBD><EFBFBD><EFBFBD>
}
//<2F><>ȡʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>
void GetData(void)
{
uint8_t i;
switch(s_Data.ReceiveBuf[3])
{
case 0x40: //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>˹<EFBFBD><CBB9>̲<EFBFBD><CCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#if 0
2025-04-24 11:37:10 +08:00
for(i=0;i<12;i++) //<2F><>ֵѹ<D6B5><D1B9><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> 48-59 6-17 3
{
MeasurementData_Nearbit.ucDataValueBuf[i+48] = s_Data.ReceiveBuf[6+i];
}
for(i=0;i<4;i++) //<2F><>ֵ<EFBFBD><D6B5>ѹ<EFBFBD><D1B9>ֵ 8-11 18-21 1
{
MeasurementData_Nearbit.ucDataValueBuf[i+8] = s_Data.ReceiveBuf[18+i];
}
for(i=0;i<8;i++) //<2F><>ֵ<EFBFBD><D6B5>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> 60-67 22-29 2
{
MeasurementData_Nearbit.ucDataValueBuf[i+60] = s_Data.ReceiveBuf[22+i];
}
for(i=0;i<4;i++) //<2F><>ֵŤ<D6B5>ؾ<EFBFBD>ֵ 12-15 30-33 1
{
MeasurementData_Nearbit.ucDataValueBuf[i+12] = s_Data.ReceiveBuf[30+i];
}
for(i=0;i<8;i++) //<2F><>ֵŤ<D6B5>ط<EFBFBD><D8B7><EFBFBD>ֵ<EFBFBD><D6B5>Ť<EFBFBD>ط<EFBFBD><D8B7><EFBFBD> 68-75 34-41 2
{
MeasurementData_Nearbit.ucDataValueBuf[i+68] = s_Data.ReceiveBuf[34+i];
}
for(i=0;i<4;i++) //<2F><>ֵת<D6B5>پ<EFBFBD>ֵ 16-19 42-45 1
{
MeasurementData_Nearbit.ucDataValueBuf[i+16] = s_Data.ReceiveBuf[42+i];
}
for(i=0;i<20;i++) //<2F><>ֵת<D6B5>ٷ<EFBFBD><D9B7>ȣ<EFBFBD>ת<EFBFBD>ٷ<EFBFBD><D9B7>X<EEA3AC><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 76-95 46-65 5
{
MeasurementData_Nearbit.ucDataValueBuf[i+76] = s_Data.ReceiveBuf[46+i];
}
// for(i=0;i<76;i++)
// {
// MeasurementData_Nearbit.ucDataValueBuf[i] = s_Data.ReceiveBuf[6+i];
// }
// MeasurementData_Nearbit.ucDataValueBuf[]
#else
for(i = 0; i < 26*4; i++) //<2F><>ֵѹ<D6B5><D1B9><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> 48-59 6-17 3
{
MeasurementData_Nearbit.ucDataValueBuf[i] = s_Data.ReceiveBuf[6+i];
}
#endif
2025-04-24 11:37:10 +08:00
break;
case 0x41: //<2F><>ȡԶ<C8A1>˹<EFBFBD><CBB9>̲<EFBFBD><CCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(i=0;i<12;i++) //<2F><>ֵѹ<D6B5><D1B9><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> 48-59 6-17 3
{
MeasurementData_Farbit.ucDataValueBuf[i+48] = s_Data.ReceiveBuf[6+i];
}
for(i=0;i<4;i++) //<2F><>ֵ<EFBFBD><D6B5>ѹ<EFBFBD><D1B9>ֵ 8-11 18-21 1
{
MeasurementData_Farbit.ucDataValueBuf[i+8] = s_Data.ReceiveBuf[18+i];
}
for(i=0;i<8;i++) //<2F><>ֵ<EFBFBD><D6B5>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> 60-67 22-29 2
{
MeasurementData_Farbit.ucDataValueBuf[i+60] = s_Data.ReceiveBuf[22+i];
}
for(i=0;i<4;i++) //<2F><>ֵŤ<D6B5>ؾ<EFBFBD>ֵ 12-15 30-33 1
{
MeasurementData_Farbit.ucDataValueBuf[i+12] = s_Data.ReceiveBuf[30+i];
}
for(i=0;i<8;i++) //<2F><>ֵŤ<D6B5>ط<EFBFBD><D8B7><EFBFBD>ֵ<EFBFBD><D6B5>Ť<EFBFBD>ط<EFBFBD><D8B7><EFBFBD> 68-75 34-41 2
{
MeasurementData_Farbit.ucDataValueBuf[i+68] = s_Data.ReceiveBuf[34+i];
}
for(i=0;i<4;i++) //<2F><>ֵת<D6B5>پ<EFBFBD>ֵ 16-19 42-45 1
{
MeasurementData_Farbit.ucDataValueBuf[i+16] = s_Data.ReceiveBuf[42+i];
}
for(i=0;i<20;i++) //<2F><>ֵת<D6B5>ٷ<EFBFBD><D9B7>ȣ<EFBFBD>ת<EFBFBD>ٷ<EFBFBD><D9B7>X<EEA3AC><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 76-95 46-65 5
{
MeasurementData_Farbit.ucDataValueBuf[i+76] = s_Data.ReceiveBuf[46+i];
}
// for(i=0;i<76;i++)
// {
// MeasurementData_Farbit.ucDataValueBuf[i] = s_Data.ReceiveBuf[6+i];
// }
// MeasurementData_Farbit.ucDataValueBuf[]
break;
}
}
void AgreementService(void)
{
unsigned char buf[2]={0};
Uart1_Sevice();
if(s_Data.ReceiveOKFlag==_TRUE)
{
switch(s_Data.IsTwoHostAddrFlag)
{
case 1:
{
if(s_Data.IsOneSlaveAddrFlag == 1) //<2F>ӵ<EFBFBD>ַΪ˫<CEAA><CBAB>ַ
{
switch (s_Data.ReceiveBuf[5])
{
case READ_DATA_0x34: //ʵʱ<CAB5><CAB1><EFBFBD>ݶ<EFBFBD>ȡ
r_GetData();
break;
default:
break;
}
}
s_Data.ReceiveOKFlag=_FALSE;
s_Data.ReceiveOffset=0;
s_Data.UartStaus=Receive_head;
s_Data.Allow_GetData_Count = 0;//<2F><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>
g_Data.GetUart1OverFlag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
break;
case 2: //<2F><><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>
{
switch (s_Data.ReceiveBuf[5])
{
case READ_DATA_0x34: //ʵʱ<CAB5><CAB1><EFBFBD>ݶ<EFBFBD>ȡ
GetData();
break;
default:
break;
}
s_Data.ReceiveOKFlag=_FALSE;
s_Data.ReceiveOffset=0;
s_Data.UartStaus=Receive_head;
s_Data.Allow_GetData_Count = 0;//<2F><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>
g_Data.GetUart1OverFlag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
break;
default:
s_Data.ReceiveOKFlag=_FALSE;
s_Data.ReceiveOffset=0;
s_Data.UartStaus=Receive_head;
s_Data.Allow_GetData_Count = 0;//<2F><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>
g_Data.GetUart1OverFlag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
break;
}
}
}
//<2F><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD>
void Send_Slave(unsigned char Data)
{
unsigned char SendComment[8] = {0};
switch(Data)
{
case 1: //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SendComment[0] = 0xFF;
SendComment[1] = 0xAB;
SendComment[2] = 0x34;
SendComment[3] = 0x40;
SendComment[4] = 0x0A;
SendComment[5] = 0x01;
SendComment[6] = 0x34;
SendComment[7] = 0x37;
UART_SendStr(SendComment,8);
break;
case 2: //<2F><>ȡԶ<C8A1>˹<EFBFBD><CBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SendComment[0] = 0xFF;
SendComment[1] = 0xAB;
SendComment[2] = 0x34;
SendComment[3] = 0x41;
SendComment[4] = 0x0A;
SendComment[5] = 0x01;
SendComment[6] = 0x34;
SendComment[7] = 0x9F;
UART_SendStr(SendComment,8);
break;
case 3: //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>0<EFBFBD><30><EFBFBD><EFBFBD>
SendComment[0] = 0xAA;
SendComment[1] = 0x55;
SendComment[2] = 0x10;
SendComment[3] = 0x80;
SendComment[4] = 0x8F;
UART3_SendStr(SendComment,5);
break;
case 4: //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>1<EFBFBD><31><EFBFBD><EFBFBD>
SendComment[0] = 0xAA;
SendComment[1] = 0x55;
SendComment[2] = 0x10;
SendComment[3] = 0x81;
SendComment[4] = 0x90;
UART3_SendStr(SendComment,5);
break;
default:
break;
}
}