不能运行 STM32上的简单除法

can't run a simple division on STM32

我试图在一个项目中设置一个简单的划分,在 STM32F10x 上,这是我所做的:

假设我有一个浮点变量:

float f =0.0; 

.............

当我这样使用 f 时:

f = 20/5 ;

程序无法使用作为除法结果的 f 的值,我在程序的多个其他函数中使用了这个值,但其中 none 有效这意味着我不会收到错误,但程序无法运行。 但是当设置值时:

f = 4 ; 

一切正常!
知道为什么吗? 我用过: f = (浮动) 20/5 ;

编译器将所有没有后缀的浮点数视为double

这将在 STM32/ARM 爆炸。

使用后缀,iow 20.0f

你的转换之所以有效,是因为结果可以在编译时确定。不然又要炸了