uint16_t get_ppm_uv(uint16_t vol) { int16_t detal_vol,detal_ppm; uint16_t ppm; double db_temp; if(vol>=calPPM.zero_point_v) { ppm=0; } else { if(calPPM.detal_vol!=0) { db_temp=calPPM.ref_ppm; db_temp=db_temp/calPPM.detal_vol; detal_vol=calPPM.ref_vol; detal_vol=detal_vol-vol; detal_ppm=calPPM.ref_ppm; ppm=detal_ppm+detal_vol*db_temp; } else { ppm=0; } } return ppm; }
时间: 2024-04-10 19:31:54 浏览: 159
这段代码是一个名为 `get_ppm_uv` 的函数,它的返回值类型是 `uint16_t`。函数中有一些变量的声明和赋值操作。函数的主要逻辑是根据给定的电压值 `vol` 来计算对应的 ppm 值。首先,函数会判断 `vol` 是否大于等于 `calPPM.zero_point_v`,如果是的话,ppm 值被设为 0;否则,函数会进一步判断 `calPPM.detal_vol` 是否为 0。如果不为 0,则会根据一定的公式计算 ppm 值;如果为 0,则 ppm 值被设为 0。最后,函数返回计算出的 ppm 值。
阅读全文