Цитата(0men @ Feb 27 2018, 15:25)

strbuf попробуйте объявить как глобальный массив
он у меня аргумент функции. генерик функция посылает или по UART или по USB.
Код
void Parser_SendInt(USART_TypeDef *USARTx, int32_t number, uint32_t cr, uint32_t out)
{
char strbuf[10]="";
uint32_t sign = 0;
if (number<0)
{
number *= -1;
sign = 1;
}
ItoA(number, strbuf);
switch (out)
{
case 0: //UART
if (sign)
USART_SendString(USARTx,"-");
USART_SendString(USARTx,strbuf);
if(cr)
USART_SendString(USARTx,"\r");
break;
case 1: //USB
if (sign)
CDC_Send_DATA((uint8_t *)"-", 1);
CDC_Send_DATA((uint8_t *)strbuf, strlen(strbuf));
if(cr)
CDC_Send_DATA((uint8_t *)"\r", 1);
break;
}
}