MFC工控项目实例二十手动测试界面模拟量输入实时显示

承接专栏《MFC工控项目实例之十九手动测试界面输出信号切换》

根据板卡设置界面组合框选项设定的AD输入信号,通过读取文件中保存的键值,用定时器实时显示模拟量输入数值。

1、在Data_1.h文件中添加代码

cpp 复制代码
CString COMB_Data_AD_1[]={"AD输入1","AD输入2","AD输入3","AD输入4","AD输入5","AD输入6","AD输入7","AD输入8","AD输入9","AD输入10","AD输入11","AD输入12","AD输入13","AD输入14","AD输入15","AD输入16"};
int COMB_Data_AD_Number_1;
unsigned char b_AD_1[16];
CString b_str_AD_1[16];
unsigned short AD_1[16];

2、在JogTest.cpp中添加代码

cpp 复制代码
BOOL CJogTest::OnInitDialog() 
{
	CDialog::OnInitDialog();
	...
		for( i=0;i<=COMB_Data_AD_Number_1;i++)
   {
	   
	 GetPrivateProfileString("AD输入",COMB_Data_AD_1[i],NULL,b_str_AD_1[i].GetBuffer(20),20,strFilePath);	
     AD_1[i]=_ttoi(b_str_AD_1[i]);
	}
	SetTimer(1,500,NULL);
	...
}


void CJogTest::OnTimer(UINT nIDEvent) 
{
if( nIDEvent == 1 )
	{
		//16通道,2 = -5000 -- 5000 mV采集
        AI6325AAllSingle(nAddr_AD_1, 2, m_saveData_AD_1);
		CString tempStr;
		CString str[30];
		tempStr.Format("%d",m_saveData_AD_1[AD_1[0]]);
	
		for ( int i=0 ; i<4 ; i++)
	{		  
			GetDlgItem(m_nCounterID[i])->SetFont(&m_font);
            str[i]=tempStr.Mid(i,1);
		    SetDlgItemText(m_nCounterID[i],str[i]);
		  
	}
	
	}
	CDialog::OnTimer(nIDEvent);

}
相关推荐
郝学胜-神的一滴21 小时前
Qt的QSlider控件详解:从API到样式美化
开发语言·c++·qt·程序人生
橘颂TA21 小时前
【剑斩OFFER】算法的暴力美学——连续数组
c++·算法·leetcode·结构与算法
学困昇1 天前
C++11中的{}与std::initializer_list
开发语言·c++·c++11
郝学胜-神的一滴1 天前
Qt的QComboBox控件详解:从API到样式定制
开发语言·c++·qt·程序人生·个人开发
程序喵大人1 天前
推荐个C++高性能内存分配器
开发语言·c++·内存分配
zephyr051 天前
深入浅出C++多态:从虚函数到动态绑定的完全指南
开发语言·c++
码力码力我爱你1 天前
C++静态变量依赖关系
java·jvm·c++
加勒比之杰克1 天前
【C++11】Lambda 表达式、可变参数、emplace_back 系列
开发语言·c++·lambda·emplace_back·可变参数模版
Bona Sun1 天前
单片机手搓掌上游戏机(十一)—esp8266运行gameboy模拟器之硬件连接
c语言·c++·单片机·游戏机
思成不止于此1 天前
【C++ 数据结构】二叉搜索树:原理、实现与核心操作全解析
开发语言·数据结构·c++·笔记·学习·搜索二叉树·c++40周年