METHOD 1:
char errortodisplay[10]={0};
while(Serial.available()) {
str=Serial.readString();
}
if(str.indexOf("ERROR")>=0) {
int x=str.indexOf("+");
int y=str.indexOf("#");
String nes=str.substring(x+1,y);
// err= nes.toInt();
sprintf(errortodisplay,"%04X",nes.toInt());
Serial.println("er2dis=");
Serial.print(errortodisplay);
But this is showing int values.
METHOD 2:
char errortodisplay[10]={0};
while(Serial.available()) {
str=Serial.readString();
}
if(str.indexOf("ERROR")>=0) {
int x=str.indexOf("+");
int y=str.indexOf("#");
String nes=str.substring(x+1,y);
// err= nes.toInt();
char *ptr;
long ret;
ret = strtoul(nes, &ptr, 16);
Serial.println("er2dis=");
Serial.print(ret);
This is showing error at ret = strtoul(nes,&ptr,16)