ich hoff die funktionen lassen sich kompilieren. habs jetzt nur schnell ohne fehlersuche und test runtergetippt:
void Bin2Hex(unsigned char *chInput, unsigned long ulInputLength, unsigned char *chOutput)
{
for (unsigned long i = 0; i < ulInputLength; i++)
{
chOutput[i * 2] = ((chInput[i] & 0xF0) / 0x10) + 48;
chOutput[i * 2 + 1] = (chInput[i] & 0x0F) + 48;
} // for
} // Bin2Hex
void Hex2Bin(unsigned char *chInput, unsigned long ulInputLength, unsigned char *chOutput)
{
unsigned char chTemp[2];
for (unsigned long i = 0; i < ulInputLength; i+=2)
{
chTemp[0] = chInput[i];
chTemp[1] = chInput[i + 1];
if (chTemp[0] >= 'A')
{
chTemp[0] -= 'A';
} // if
else
{
chTemp[0] -= '0';
} // else
if (chTemp[1] >= 'A')
{
chTemp[1] -= 'A';
} // if
else
{
chTemp[1] -= '0';
} // else
chOutput[i / 2] = chTemp[0] * 0x10 + chTemp[1];
} // for
} // Hex2Bin
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm!
|