Board logo

标题: 请教各位 [打印本页]

作者: bozhiqiang001    时间: 2007-3-7 09:04     标题: 请教各位


对908QY4编程,能否使用浮点数计算.编程环境是CodeWarrior 5.1

下面是我的部分程序:
{ const float C1=-4.0; //
const float C2=+0.0405; //
const float C3=-0.0000028; //
const float T1=+0.01; //
const float T2=+0.00008; //

float rh=*p_humidity; // rh: Humidity [Ticks] 12 Bit
float t=*p_temperature; // t: Temperature [Ticks] 14 Bit
float rh_lin; // rh_lin: Humidity linear
float rh_true; // rh_true: Temperature compensated humidity
float t_C; // t_C : Temperature

t_C=t*0.01 - 40; //clc. temperature from ticks to
rh_lin=C3*rh*rh + C2*rh + C1; //calc. humidity from ticks to [%RH]
rh_true=(t_C-25)*(T1+T2*rh)+rh_lin; //calc. temperature compensated humidity [%RH]
if(rh_true>100)rh_true=100; //cut if the value is outside of
if(rh_true<0.1)rh_true=0.1; //the physical possible range

*p_temperature=t_C; //return temperature
*p_humidity=rh_true; //return humidity[%RH]
}


作者: seuafu2005    时间: 2007-3-7 09:42

可以的,在创建工程的时候选择支持浮点运算。
要注意的是,浮点运算对于8位机来说编译效率是很差的,需要注意代码空间是否足够
作者: bozhiqiang001    时间: 2007-3-7 10:16

谢谢




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0