ST意法半导体
直播中

李梅

8年用户 1440经验值
私信 关注
[问答]

为什么保存PWM频率的var会失败呢

我需要你的支持,我正在尝试做一个小项目,我需要使用例如保存 PWM 频率的 var,因为我需要计算周期我只写了一个除法 1/test_float,结果必须是周期....但结果为零...
我使用的是 Blue pill 板、STM32F103 和 STM32Cube IDE。
我运行这个小例子是为了向您展示我的问题。

        浮动 test_float =0;
        test_float = 1/10; // ====> test_float=0
        test_float = 1/1000; // ====> test_float=0
        test_float = 1/10000000;// ====> test_float=0
        test_float = 0.0000001; // ====> test_float= 9.9999999999999995e-008
没问题
为什么前四行等于零?最后一行 (test_float = 0.0000001; ) 它具有正确的值 ...100 ns













回帖(1)

戚來麒

2022-12-8 14:37:50
写成
test_float = 1.0/10.0;
或者
test_float = 1.0f / 10.0f;
所以它知道常量不是整数,C 编译器会假定它们不是整数。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分