Na, auf ASCII solltest du nicht gleich umwandeln.
Da ja "C" von "casten" kommt
Du hast einen pointer "pntr" auf ein 16-Bit wort.
SerWrite ((unsigned char*)pntr); // low(16bitwort)
SerWrite ((unsigned char*)((int)pntr + 1)); // high(16bitwort)