16,472
社区成员
发帖
与我相关
我的任务
分享
struct TRBUF
{
unsigned char Header;
unsigned char DeviceAddress;
unsigned char FunctionCode;
unsigned int StartAddress;
unsigned char Data[32];
unsigned char ByteCount;
unsigned char LRCCheck;
unsigned char CR;
unsigned char LF;
}gDataPackage;
unsigned int StartAddress;
unsigned char Data[32];这两个是变化的,我该如何给他们赋值把0000-3FFE的地址每次加32赋给变量StartAddress
把8K的码表每次32个字节赋给Data[32],请详细回答,谢谢,真的是新手可能问的比较傻,请不要怪责。耐心 解释,再谢!
//Data type TRSNSFER_STEP Value type Sample
//Header -- HEX 3A
//Device address ADDRESS_STEP ASCII 30 31
//Function code FUNCTION_CODE_STEP ASCII 30 30
//Start address START_ADDRESS_HiByte_STEP ASCII Hi byte 30 30
//Start address START_ADDRESS_LoByte_STEP ASCII Lo byte 30 30
//Byte count BYTE_COUNT_STEP ASCII 32 30
//Data DATA_STEP ASCII ......
//LRC check LRC_STEP ASCII 43 46
//-- CR_LF_STEP ASCII 0D 0A
//如何把8k的码表分成512页每页32个字节的数据
#include <stdio.h>
char mb[8*1024];
char pk[15+32+1];
char dt[33];
int p,b;
int main() {
for (p=0;p<512;p++) {
for (b=0;b<16;b++) {
mb[p*16+b]=(char)(p%256);
}
}
for (p=0;p<512;p++) {
for (b=0;b<16;b++) sprintf(dt+b*2,"%02X",(unsigned char)mb[p*16+b]);
sprintf(pk,"\x3A"
"\x30\x31"
"\x30\x30"
"\x30\x30"
"\x30\x30"
"\x32\x30"
"%s"
"\x43\x46"
"\x0D\x0A",
dt);
printf("%03d %s",p,pk);
}
return 0;
}
//000 :010000002000000000000000000000000000000000CF
//001 :010000002001010101010101010101010101010101CF
//002 :010000002002020202020202020202020202020202CF
// ... ...
//510 :0100000020FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFECF
//511 :0100000020FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
//