У меня есть следующий фрагмент кода, который я компилирую на своем рабочем месте IAR.
// global declaration
float fval = 3.14f;
uint8_t uartTxBuffer [100];
void function(void)
{
memset(uartTxBuffer,'\0',sizeof(uartTxBuffer);
sprintf(uartTxBuffer,"\n\r Value is %f",fval);
UartWrite(uart, uartTxBuffer,strlen(uartTxBuffer));
}
Вывод Value is %f // and not 3.14
Может кто-нибудь объяснить мне, в чем проблема в моем коде?Это функция Uartwrite или я делаю какую-то ошибку в использовании языка Си?Я попробовал тот же код, используя printf на Keil MDK, и он выводит правильное значение на последовательный терминал.Так это проблема IDE?Кто-нибудь может направить меня сюда?