hex转换为char显示
typedef unsigned long u32; typedef unsigned short u16; typedef unsigned char u8; #define assert_print(a) printf("%s", a) u8 Temple_Data[32]; u8 HexToChar(u8 byTemp) { byTemp &= 0x0f; if(byTemp >= 10) // show "A" - "F" { byTemp = byTemp - 0xa + 0x41; } else // show "0" - "9" { byTemp = byTemp + 0x30; } return(byTemp); } void assert_hex_u8print(u8 byte) { Temple_Data[0] = HexToChar((byte & 0xf0) >> 4); Temple_Data[1] = HexToChar(byte & 0x0f); Temple_Data[2] = 0; assert_print(Temple_Data); } void assert_hex_u16print(u16 word) { Temple_Data[0] = HexToChar((word & 0xf000) >> 12); Temple_Data[1] = HexToChar((word & 0x0f00) >> 8); Temple_Data[2] = HexToChar((word & 0x00f0) >> 4); Temple_Data[3] = HexToChar(word & 0x000f); Temple_Data[4] = 0; assert_print(Temple_Data); } void assert_hex_u32print(u32 dword) { Temple_Data[0] = HexToChar((dword & 0xf0000000) >> 28); Temple_Data[1] = HexToChar((dword & 0x0f000000) >> 24); Temple_Data[2] = HexToChar((dword & 0x00f00000) >> 20); Temple_Data[3] = HexToChar((dword & 0x000f0000) >> 16); Temple_Data[4] = HexToChar((dword & 0x0000f000) >> 12); Temple_Data[5] = HexToChar((dword & 0x00000f00) >> 8); Temple_Data[6] = HexToChar((dword & 0x000000f0) >> 4); Temple_Data[7] = HexToChar(dword & 0x0000000f); Temple_Data[8] = 0; assert_print(Temple_Data); }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。