[英]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.