18-02-2022, 16:44
Cześć. Już się powoli poddaję. Może ktoś mnie poratuje
Potrzebuje przekonwertować wartość HEX ( odczyt numeru karty RFID ) z wartości HEX do DEC.
Normalnie z 1300449B4A powinna wyjść wartość 81608874826 a w Arduino wychodzi mi 4496202
Kod mam taki :
Wywołuję:
i dostaje 4496202.
Czy ktoś może mi pomóc w kawałku kodu który zrobi to tak jak powinno być ?
Potrzebuje przekonwertować wartość HEX ( odczyt numeru karty RFID ) z wartości HEX do DEC.
Normalnie z 1300449B4A powinna wyjść wartość 81608874826 a w Arduino wychodzi mi 4496202
Kod mam taki :
Kod:
unsigned long hexToDec(string hexString) {
unsigned long decValue = 0;
char nextInt;
for ( long i = 0; i < hexString.length(); i++ ) {
nextInt = toupper(hexString[i]);
if ( isxdigit(nextInt) ) {
if (nextInt >= '0' && nextInt <= '9') nextInt = nextInt - '0';
if (nextInt >= 'A' && nextInt <= 'F') nextInt = nextInt - 'A' + 10;
decValue = (decValue << 4) + nextInt;
}
}
return decValue;
}
Wywołuję:
Kod:
string test = "1300449B4A";
Serial.println(hexToDec(test));
i dostaje 4496202.
Czy ktoś może mi pomóc w kawałku kodu który zrobi to tak jak powinno być ?