convert Unsigned Int to array of chars (String)
If you can use C standard library functions, sprintf() should handle the string conversion. Instead of adding the decimal point by shuffling characters around, you could use integer arithmetic:

char str[20];
unsigned int value = 105;

sprintf(str, "%u.%u", value / 10, value % 10);


Integer division won't be fast, but it should be faster than floating point. And I suspect that the int -> string conversion algorithm will be doing division anyway.