C - 将表单0xXX的值存储在数组

时间:2016-05-12 14:33:33

标签: c int format hex

我正在尝试创建一个将值转换为以下形式的数组的函数:

[ [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);
}

感谢您的帮助!

0 个答案:

没有答案