65,208
社区成员
发帖
与我相关
我的任务
分享
int MakeFrame(char *PointNo,char *info)
{
char pn1,pn2,pn3;
int data2;
pn1= ((PointNo[0]<<4)|PointNo[1]);
pn2= ((PointNo[2]<<4)|PointNo[3]);
pn3= ((PointNo[4]<<4)|PointNo[5]);
data2 = rand() * 20 / (double)RAND_MAX;
// FE 01 01 06 67 C0 08 01 00 4B 12 00 A7 42 E6 1B 55 66 77 88 4A
Fmt(info, "FE %d[w2p0] %d[w2p0] %d[w2p0] 67 C0 08 01 00 4B 12 00 A7 42 %d[w2p0] 00 55 66 77 88 4A",pn1,pn2,pn3,data2);
strcat (info, "\0");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int MakeFrame(char *PointNo,char *info)
{
unsigned int pn1,pn2,pn3;
int data2;
sscanf(PointNo,"%2x%2x%2x", &pn1,&pn2,&pn3);
data2 = rand() * 20 / (double)RAND_MAX; //这个不明白,data2永远为0
// FE 01 01 06 67 C0 08 01 00 4B 12 00 A7 42 E6 1B 55 66 77 88 4A
sprintf(info, "FE %02x %02x %02x 67 C0 08 01 00 4B 12 00 A7 42 %02x 00 55 66 77 88 4A",pn1 & 0xff,pn2 & 0xff ,pn3 & 0xff,data2);
return 0;
}
int main()
{
char buff[100];
MakeFrame("010106",buff);
printf("%s\n",buff);
}