Guard_Byte 发表于 2025-1-9 18:00:43

soma 发表于 2024-10-10 12:43
浮点运算还会造成死机还真不知道。看来要好好学习了

单独使用可能不会,但开了定时器,串口,PWM等可能性就很大了。我就遇到过,同一个算式,不同情况下,结果不一样。
如下运算在AI8051U上未使用浮点运算库,input类型为float式就会重启(在开了两个定时器,两个串口,一组PWMA的,OLED,按键使用的情况下)
(int16)((input - 1000.0)* 1.2); 这里转不转int16都会重启
但是有有一个奇怪的问题是,无符号16位的数据,结果和有符号的一样,将input浮点类型改成uint16或int16,(int16)((input - 992.0)* 1.2); 常数改成带小数点的,自动转换后计算结果正确不会重启。。。

结果虽然对了,但是这个处理。。。。就,,,。底层原因还是没太搞清楚
页: 1 [2]
查看完整版本: 请教stc浮点运算应注意什么避免死机