How to split a *char and pass to a function needing uint8_t?
I'm not real clear on exactly what you want to have there, but here are a few ideas that may help:

If you know what character you want, then just get it.  Like if you always want the second character (I think this is what you need):

void someFunc(char *p)
{
  char secondChar = p[1];
  Serial.print(secondChar);
}


If you just want the last character in the string no matter how long, get the length of it and then pull that character:

void someFunc(char *p)
{
  int len = strlen(p);
  char lastChar = p[len-1];
  Serial.print(lastChar);
}


If you want the last digit in the string no matter how long and no matter how many random characters that aren't digits after it:

void someFunc(char *p)
{
  int len = strlen(p);
  char lastDigitChar = 0;
  // Cycle backwards til we get the first digit
  for(int i=len-1; i&gt;=0; i--){
    if(isDigit(p[i]){
      lastDigitChar = p[i];
      break;
    }
  }
  Serial.print(lastDigitChar);
}