девайс посылает на комп по UART намерянное время, посылает числа HEX но в ASCII коде. т.е. если я открою Гипер Терминал, то увижу мое в ремя в формате HEX
мне надо на компе привести его к десятичному значению. делаю так:
td::stringstream ss;
//Convert hex string to int timeout ss << std::hex << hextime; ss >> mstime; } }
/*if (btnpressed == "No pressed button!") { aSingletonClass::getInstance()->printSomething((char*)btnpressed.c_str()); } else {*/ std::stringstream stringtimestream; std::string stringtime = "";
// Convert int timeout to string; stringtimestream << static_cast<int>(mstime); stringtimestream >> stringtime;
std::string resultstring = "Pressed button: " + btnpressed + ", time: " + stringtime + "ms"; aSingletonClass::getInstance()->printSomething((char*)resultstring.c_str()); //}
вот только проблема- все работатет, иногда проскакивает 0, и дальше как ни в чем ни бывало считает, потом опять 0 ???? из-за чего?
вопрос снимается- почему- то переменная принимает лишние символы- от туда и проблема
Сообщение отредактировал Метценгерштейн - May 12 2010, 08:37
|