【发布时间】:2021-06-20 10:19:09
【问题描述】:
我在 STM32 上将 float 转换为 str 时遇到问题, 我有两个简单的函数来打印 Int 和 Float Int 工作正常,但浮点打印导致程序崩溃
void LCD_PrintInt(int value) {
char str[8];
sprintf(str, "%d", value);
LCD_Print(str);
}
void LCD_PrintFloat(float value, uint8_t length) {
char str[length];
snprintf(str, length + 1, "%f", value);
LCD_Print(str);
}
LCD_PrintFloat(99.9, 4); <- crash
LCD_Print("99.9"); <- works fine
我正在使用 STM32CubeIDE 并设置 -u _printf_float 链接器标志 我究竟做错了什么?浮点运算(在STM32上)是正确的方法吗?
【问题讨论】:
标签: floating-point type-conversion stm32