can通讯时候是把4位16进制 分成两个2位(0xFFFF--->0xFF 0xFF)
就随手写了一个小工具 把十进制转换成两个十六进制 方便修改can报文 如有问题请大家不吝赐教
uint8_t rad[2]={0x00,0x00} ;
void MSG_Trans(int dec)
{
uint8_t HexH= 0x00;
uint8_t HexL= 0x00;
for(int i = 0;i<dec;i++)
{
if(HexL == 0xff)
{
if(HexH == 0x0f)
{
if(HexH != 0xff)
{
HexH += 0x10;
}
HexH &= 0xF0;
}
else
{
if(HexH != 0xff)
HexH += 0x01;
}
HexL = 0x00;
}
else
HexL += 0x01;
}
rad[0]=HexH;
rad[1]=HexL;
printf("\r\nHexH:%x\r\n",rad[0]);
printf("HexL:%x\r\n",rad[1]);
}
标签:10,进制,16,int,0x00,uint8,C语言
From: https://www.cnblogs.com/tiandaowang/p/17846625.html