在各种设备间的传输协议或者通信协议中,一般对数据的字段类型都各不相同,比如BCD码,BIN码,ASCII码等。下面接收几种字段类型定义的实例

1.BCD码

定义一个16位机器编码 2018041912345678

uint8_t   Dev[8] ;

  一般两种存储方式:

大端模式:高位存在低位地址上

Dev[0]=0x20;
Dev[1]=0x18;
Dev[2]=0x04;
Dev[3]=0x19;
Dev[4]=0x12;
Dev[5]=0x34;
Dev[6]=0x56;
Dev[7]=0x78;

小端模式:低位存在高位地址上

Dev[0]=0x78;
Dev[1]=0x56;
Dev[2]=0x34;
Dev[3]=0x12;
Dev[4]=0x19;
Dev[5]=0x04;
Dev[6]=0x18;
Dev[7]=0x20;

2.BIN码

定义一个费用变量

uint16_t money;
uint8_t buf[128];

money=0x1234;

一般两种存储方式:

大端模式:高位存在低位地址上

buf[0]=0x12; buf[1]=0x34

小端模式:低位存在高位地址上

buf[0]=0x34; buf[1]=0x12

3.字符串

 都是以ASCII码形式上传

设备号 

const char temp[]="AY03B000017090003A";
uint8_t buf[],len;
len=sprintf((char *)buf, "%s",temp);

这是大端存储方式

如果小端存储方式还有进行数组掉头

uint8_t datbuf[100];
strchghead(datbuf,(uint8_t *)&buf,len)
void strchghead(unsigned char *dbuf,unsigned char *sbuf,unsigned int slen)
{
unsigned int i;
for(i=0;i<slen;i++)
{
dbuf[i] = sbuf[slen-i-1];
}
}