求教关于c51数值计算的问题,求高人指教
本帖最后由 dongfang 于 2024-4-12 12:52 编辑我用编码器计数,然后在液晶屏显示,实际值与编码器有一个比值,我在程序中加上比例转换就好显示就乱了,不知什么原因,
// temp=temp/1.17;
if(temp<=7000)
{
temp1=temp;
qian=temp1/1000;
bai=temp1%1000/100;
shi=temp1%100/10;
ge=temp1%10;
}
我只要加上 “temp=temp/1.17;”这条语句,显示乱了,忽大忽小,求高人指教
temp=(float)temp/1.17; 在编译器中查一下汇编,看看原因 xuzeabc 发表于 2024-4-10 11:08
在编译器中查一下汇编,看看原因
谢谢,我几年前弄个一个类似的程序,很正常的,那时候用的是keil4,现在用的是keil5编译的,还真有可能是keil5的问题,12864的汉字库有几个汉字是用keil5编译就会出问题,我用keil4编译一下看看会不会出现奇迹, 可以用串口先输出temp的值,之后在计算/1.17作比较。 我也觉得可能是数值转换的原因。 调试一下看看把 数据类型问题,%不能用于浮点数, 嵌入式之路 发表于 2024-4-10 14:00
我也觉得可能是数值转换的原因。 调试一下看看把
应该是这个原因 /1.17估计是这句的问题 我都是先放大十倍再计算
页:
[1]
2