stm32f1 是没有FPU的, 不能进行硬件浮点运算,故在实时控制等时间敏感度很高的场景是很难处理的。需要用到stm32f4并开启硬件浮点运算
以下是一个场景,规避浮点运算 然后将结果打印整数位和小数位打印
tempStr 变量没有用到,忽略
//ttt = ((short)2) * 15 / 100 - 70 ; 原本是这样
ttt = ((short)TIM2->CNT) * 15 - 7000 ; //弄成int, 结果之后再除以100
sprintf(tempStr,"%d",

本文介绍了STM32F1型微控制器由于缺乏硬件浮点单元(FPU),在实时控制场景下进行浮点运算的挑战。作者通过将浮点运算转换为整数运算,并使用sprintf进行格式化输出,规避了浮点运算,展示了如何在STM32F1上处理时间敏感的计算任务。此外,文章强调了GPU浮点运算资源的价值。
最低0.47元/天 解锁文章
1万+





