繁体   English   中英

STM32F4浮点到整数转换

[英]STM32F4 float to int conversion

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

由于arm_pid_f32()函数产生了FP编号,但后来我需要更新接受12位整数的内部DAC的值。

我知道我将失去一些“精度”,但是如果我不对其进行转换,而直接将其传递给DAC更新功能,则会出现一些奇怪的行为,这使我感到麻烦。

最好的方法是什么?

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

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

我假设您有一个接受2的补码整数输入的DAC。

将float变量除以float变量可以具有的最大可能值。 这使您的浮动范围为[-1.0 ... + 1.0]

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

如果DAC需要一个无符号的正整数输入值,则需要将此结果加2048。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM