我正在尝试创建一个将值转换为以下形式的数组的函数:
[ [0x03], [0x07], [0xE4] ... ]
为什么呢?因为我需要在嵌入式系统上向DDR发送值,并使用以下格式:
DDR[0x123] = 0xE4 // Writes E4 to adress 123 starting from sector XXX
例如,我想将500118192(int)发送到我的内存,它对应于我的磁盘扇区数量。在Hexa中,它给出1DCF32B0,我想写:
DDR[0x00] = 0xB0;
DDR[0x01] = 0x32;
DDR[0x02] = 0xCF;
DDR[0x03] = 0x1D;
让我们承认我的磁盘大小存储在名为diskSize的变量中,这可能吗?
目前,我有以下功能,但它不像我想的那样工作:
void intToHex(char * string, unsigned int value, unsigned int size){
int i = 0;
for(i = 0 ; i < size ; i++){
string[i] = 0; // Set every byte to 0
}
snprintf(string,size, "%02X", value);
}
感谢您的帮助!