global_fun.cpp

来自「开发的锌流量计算程序」· C++ 代码 · 共 55 行

CPP
55
字号
#include "stdafx.h"//不可缺少的
#include "conio.h"
#include "global_fun.h"
#include "sampleresult.h"

//基地址
const int base_addr=0x300;

//全局变量
CString model_date;//模型建立日期
float model_parameter_tare;//皮重
float model_parameter_a;//常数项
float model_parameter_b;//一次项系数
float model_parameter_c;//二次向系数
CSampleResult m_sampleresult;
BOOL m_bStart;
BOOL m_bStop;

//电压采样值
float convert_volt(void)
{
   float fstep;
   float result;
   //unsigned char 
   int cHighByte,cLowByte;
   int iStatus,states,adl,adt;
   fstep=10.0/4096.0;
   _outp(base_addr+1,0);   //设置输入模拟量的范围 +/-5
   _outp(base_addr+2,0);  //选择通道号0
   _outp(base_addr+0,0);  //A/D 转换软件触发
   do
   {
       iStatus=_inp(base_addr+8);
	   states=iStatus&0x10;//判断A/D转换是否结束
   }while(!states);//states为1,则转换结束
   cHighByte=_inp(base_addr+1);//高8位
   cLowByte=_inp(base_addr+0);//低4位
   cLowByte=cLowByte&0xF0;
   cLowByte=cLowByte>>4;
   adl=cLowByte;
   adt=cHighByte*16+adl;
   result=(float)(adt*fstep-5.0);//电压值
   return result;
}

//流量采样值
float convert_flux(void)
{
	float result;
	result=(float)(60.0*convert_volt())-model_parameter_tare;//净重
	if(result<=0) 
		return 0.0;
	result=model_parameter_a+model_parameter_b*result+model_parameter_c*result*result;//流量
	return result;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?