代码如下:
#include<stdio.h>
int main(){
char Modbus_Order[7];
int Ch=0x00;
Modbus_Order[0]='9';
Modbus_Order[1]='8';
Modbus_Order[2]='8';
Modbus_Order[3]='6';
Ch+=(Modbus_Order[0]-'0')*1000;
Ch+=(Modbus_Order[1]-'0')*100 ;
Ch+=(Modbus_Order[2]-'0')*10 ;
Ch+=(Modbus_Order[3]-'0')*1 ;
printf("%x\n",Ch);
if(Ch/(16*16*16)!=0)
{
if(Ch/(16*16*16)<10)
Modbus_Order[4]='0'+Ch/(16*16*16);
else
Modbus_Order[4]='A'-10+Ch/(16*16*16);
Ch=Ch%(16*16*16);
}
else
Modbus_Order[4]='0';
if(Ch/(16*16)!=0)
{
if(Ch/(16*16)<10)
Modbus_Order[5]='0'+Ch/(16*16);
else
Modbus_Order[5]='A'-10+Ch/(16*16);
Ch=Ch%(16*16);
}
else
Modbus_Order[5]='0';
if(Ch/16!=0)
{
if(Ch/16<10)
Modbus_Order[6]='0'+Ch/16;
else
Modbus_Order[6]='A'-10+Ch/16;
Ch=Ch%16;
}
else
Modbus_Order[6]='0';
if(Ch!=0)
{
if(Ch<10)
Modbus_Order[7]='0'+Ch;
else
Modbus_Order[7]='A'-10+Ch;
}
else
Modbus_Order[7]='0';
printf("%x\n",Ch);
puts(Modbus_Order);
printf("%s",Modbus_Order);
return 0;
}
此文章为当时研究modbus协议时 顺手写的,有些粗糙,取其精华即可。