Files
2025-12-15 16:07:49 +08:00

64 lines
911 B
C

#include "sjframe.h"
extern u8 * get_uart_send();
extern u8 * addr_get();
//УÑéºÍ
extern unsigned char GetCK(unsigned char * Val, unsigned char Len);
void sj_frame_data_ack(u8 * val,u16 * len,u8 * meter,u8 * data)
{
u8 recvserial = sj_get_recvser();
u8 * p = val;
u8 * addr = addr_get();
p[0] = 0x68;
p[1] = 101;
p[2] = 0x00;
p[3] = 101;
p[4] = 0x00;
p[5] = 0x68;
p[6] = 0x88;
//addr
p[7] = addr[0];
p[8] = addr[1];
p[9] = addr[2];
p[10] = addr[3];
p[11] = 0;
//afn
p[12] = 0x84;
//ser
p[13] = (6<<4)|(recvserial&0x0F);
//µ¥Ôª±êʶ
p[14] = 0x00;
p[15] = 0x00;
p[16] = 0x01;
p[17] = 0x00;
p[18] = 0x01;
p[19] = 0x00;
//20 21 22 23 24 25 26
memmove(&p[20],meter,7);
//27 28 29 30
// data[0] = 0x12;
// data[1] = 0x34;
// data[2] = 0x12;
// data[3] = 0x34;
memmove(&p[27],data,4);
p[31] = GetCK(&p[6],25);
p[32] = 0x16;
* len = 33;
}