64 lines
911 B
C
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;
|
|
|
|
}
|
|
|
|
|