Самое простое - sprintf() в буфер, а буфер потом вывалить в UART любым способом.
Есть некоторые нюансы при выводе float:
IAR-у надо указать в настройках, что используется "толстый" printf, а у MSPGCC вывод float в printf вообще не предусмотрен, приходится ручками прикручивать
Типатого:
Код
SendMesToUART0(cUART0TXbuffer,sprintf(cUART0TXbuffer,"%cTr=%u ",13,(unsigned int)Treg[i]));
Код
static char MessLen0; // Длина передаваемого сообщения UART0
int SendMesToUART0(char *BufPtr,char NumOfBytes)
{
if(MessLen0!=0)
{
return(errChannelBusy); // не закончена предыдущая передача
}
else
{
cTXbuf0ptr=BufPtr;
SendByte0(*cTXbuf0ptr++);
MessLen0=NumOfBytes-1;
return (0);
}
}
Если что, это писалось на заре туманной юности, сейчас я такой фигней уже не занимаюсь, все параметры туда и обратно передаю через modbus