consider
byte buf [10];
char t [80];
void
disp (
byte *buf,
int nByte )
{
for (int n = 0; n < nByte; n++) {
sprintf (t, " 0x%02x", buf [n]);
Serial.print (t);
}
Serial.println ();
}
// -----------------------------------------------------------------------------
int
func (
char *s,
byte *buf,
int bufSize )
{
int val;
unsigned i;
for (i = 0; i < strlen(s); i += 2) {
sscanf (&s [i], "%02x", &val);
*buf++ = val;
}
return i/2;
}
// -----------------------------------------------------------------------------
void
setup (void)
{
Serial.begin (9600);
disp (buf, func ((char *)"d73f7a79", buf, sizeof(buf)));
disp (buf, func ((char *)"1234567890123", buf, sizeof(buf)));
}
// -----------------------------------------------------------------------------
void
loop (void)
{
}