STM32F4浮动到 int 转换

STM32F4 float to int conversion

本文关键字:int 转换 STM32F4      更新时间:2023-10-16

在STM32F4 MCU上,我需要将浮点数转换为整数。

我有 arm_pid_f32() 函数的 FP 数字,但稍后我需要更新接受 12 位整数的内部 DAC 值。

我知道我会失去一些"精度",但如果我不转换它并让它直接传递到 DAC 更新功能中,我会得到一些奇怪的行为,这让我出现问题。

最好的

方法是什么?

我正在使用KEIL MDK-ARM IDE + CMSIS DSP库。

顺便说一句:MCU用于PID控制回路,我有12位A/D,PID算法,我的系数和DAC作为输出设备。DAC目前用于调试目的,稍后将bi替换为PWM模块,PWM模块也需要整数。

我假设你有一个接受二进制补码整数输入的DAC。

将浮点变量

除以浮点变量可以具有的最大值。这为您提供了 [-1.0...+1.0] 范围内的浮点数

乘以从DAC产生正满量程输出的整数值,并假设为2047年。如果需要,请舍入,然后转换为整数。

如果 DAC 需要无符号正整数输入值,则需要在此结果中添加 2048。