⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wizarddlg.cpp

📁 proteus实例集锦
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		ReadFile(hCom,str,1,length,NULL);
		c=str[0];
    }
	int Value=c;
	sprintf(str,"%+3d℃",Value);
	CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
	CString Temperature(str);
	pEdit->SetWindowTextW(Temperature);
	CProgressCtrl* pCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
	int Pos=(int)(5*Value/8.0+25);
	pCtrl->SetPos(Pos);
	delete length;
}

void CWizardDlg::OnBnClickedRadio3()
{
	// TODO: 在此添加控件通知处理程序代码
	char str[5];
	memset(str,0,5);
	str[0]=(char)0xC8;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedRadio4()
{
	// TODO: 在此添加控件通知处理程序代码
	char str[5];
	memset(str,0,5);
	str[0]=(char)0xC9;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedRadio5()
{
	// TODO: 在此添加控件通知处理程序代码
	char str[5];
	memset(str,0,5);
	str[0]=(char)0xCA;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedRadio6()
{
	// TODO: 在此添加控件通知处理程序代码
	char str[5];
	memset(str,0,5);
	str[0]=(char)0xCB;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedButton9()
{
	// TODO: 在此添加控件通知处理程序代码
	unsigned char str[20];
	memset(str,0,20);
	str[0]=(unsigned char)0xCD;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	CComboBox* pCombo=(CComboBox*)GetDlgItem(IDC_COMBO1);
	int index=pCombo->GetCurSel();
	str[0]=(unsigned char)index;
	WriteFile(hCom,str,1,length,NULL);
	DWORD dwEvtMask;
	OVERLAPPED o;
	o.hEvent=CreateEvent(NULL,FALSE,FALSE,NULL);
    o.Internal=0;
    o.InternalHigh=0;
    o.Offset=0;
    o.OffsetHigh=0;
	SetCommMask(hCom, EV_RXCHAR);
	WaitCommEvent(hCom, &dwEvtMask, &o);
	if(dwEvtMask&EV_RXCHAR) 
    {
		ReadFile(hCom,str,1,length,NULL);
		index=(int)str[0];
		pCombo=(CComboBox*)GetDlgItem(IDC_COMBO2);
		pCombo->SetCurSel(index);
    }
	delete length;
}

void CWizardDlg::OnBnClickedButton8()
{
	// TODO: 在此添加控件通知处理程序代码
	//这个是读写I2C,要发送的不只是命令,写I2X还有地址和数据,对吧
	//51的串口很简化,只有一个SBUF缓冲器,还是收发共用,所以它一次只能收
	//一个字节,两个必须要间隔一段时间,这里为了保险,间隔了50ms,其实1ms
	//够了
	unsigned char str[20];
	memset(str,0,20);
	str[0]=(unsigned char)0xCC;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);//等待50ms
	//如果等待1ms以下,不能用这个函数
	//我记不清用什么方法了,得查资料
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	CComboBox* pCombo=(CComboBox*)GetDlgItem(IDC_COMBO1);
	int index=pCombo->GetCurSel();
	str[0]=(unsigned char)index;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	pCombo=(CComboBox*)GetDlgItem(IDC_COMBO2);
	index=pCombo->GetCurSel();
	str[0]=(unsigned char)index;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnCbnSelchangeCombo2()
{
	// TODO: 在此添加控件通知处理程序代码
}

void CWizardDlg::OnCbnSelchangeCombo1()
{
	// TODO: 在此添加控件通知处理程序代码
}

void CWizardDlg::OnBnClickedRadio1()
{
	// TODO: 在此添加控件通知处理程序代码
}

void CWizardDlg::OnBnClickedRadio2()
{
	// TODO: 在此添加控件通知处理程序代码
}

void CWizardDlg::OnBnClickedButton10()
{
	// TODO: 在此添加控件通知处理程序代码
	char str[5];
	memset(str,0,5);
	str[0]=(char)0xC0;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}


void CWizardDlg::OnBnClickedCheck2()
{
	// TODO: 在此添加控件通知处理程序代码
	//以下是LED操作,看懂这个后面一样
	//其实可以很简化的,没有必要写8个相同代码
	//自己改吧
	CButton* pButton=(CButton*)GetDlgItem(IDC_CHECK2);
	if( pButton->GetCheck()==BST_CHECKED )
	{
		led=led&(unsigned char)0xFE;
	}
	else
	{
		led=led|(unsigned char)0x01;
	}

	//以上几句就是看看本LED选择框有没有被选上,然后设置数据
	//选上了执行与运算(再说一次,我用的是共阳极接法)
	//否则或运算
	unsigned char str[5];
	memset(str,0,5);
	str[0]=(unsigned char)0xC6;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	str[0]=led;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedCheck3()
{
	// TODO: 在此添加控件通知处理程序代码
		CButton* pButton=(CButton*)GetDlgItem(IDC_CHECK3);
	if( pButton->GetCheck()==BST_CHECKED )
	{
		led=led&(unsigned char)0xFD;
	}
	else
	{
		led=led|(unsigned char)0x02;

	}
	unsigned char str[5];
	memset(str,0,5);
	str[0]=(unsigned char)0xC6;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	str[0]=led;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedCheck4()
{
	// TODO: 在此添加控件通知处理程序代码
		CButton* pButton=(CButton*)GetDlgItem(IDC_CHECK4);
	if( pButton->GetCheck()==BST_CHECKED )
	{
		led=led&(unsigned char)0xFB;
	}
	else
	{
		led=led|(unsigned char)0x04;
	}
	unsigned char str[5];
	memset(str,0,5);
	str[0]=(unsigned char)0xC6;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	str[0]=led;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedCheck5()
{
	// TODO: 在此添加控件通知处理程序代码
		CButton* pButton=(CButton*)GetDlgItem(IDC_CHECK5);
	if( pButton->GetCheck()==BST_CHECKED )
	{
		led=led&(unsigned char)0xF7;
	}
	else
	{
		led=led|(unsigned char)0x08;
	}
	unsigned char str[5];
	memset(str,0,5);
	str[0]=(unsigned char)0xC6;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	str[0]=led;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedCheck6()
{
	// TODO: 在此添加控件通知处理程序代码
	CButton* pButton=(CButton*)GetDlgItem(IDC_CHECK6);
	if( pButton->GetCheck()==BST_CHECKED )
	{
		led=led&(unsigned char)0xEF;
	}
	else
	{
		led=led|(unsigned char)0x10;
	}
	unsigned char str[5];
	memset(str,0,5);
	str[0]=(unsigned char)0xC6;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	str[0]=led;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedCheck7()
{
	// TODO: 在此添加控件通知处理程序代码
		CButton* pButton=(CButton*)GetDlgItem(IDC_CHECK7);
	if( pButton->GetCheck()==BST_CHECKED )
	{
		led=led&(unsigned char)0xDF;
	}
	else
	{
		led=led|(unsigned char)0x20;
	}
	unsigned char str[5];
	memset(str,0,5);
	str[0]=(unsigned char)0xC6;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	str[0]=led;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedCheck8()
{
	// TODO: 在此添加控件通知处理程序代码
		CButton* pButton=(CButton*)GetDlgItem(IDC_CHECK8);
	if( pButton->GetCheck()==BST_CHECKED )
	{
		led=led&(unsigned char)0xBF;
	}
	else
	{
		led=led|(unsigned char)0x40;
	}
	unsigned char str[5];
	memset(str,0,5);
	str[0]=(unsigned char)0xC6;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	str[0]=led;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedCheck9()
{
	// TODO: 在此添加控件通知处理程序代码
		CButton* pButton=(CButton*)GetDlgItem(IDC_CHECK9);
	if( pButton->GetCheck()==BST_CHECKED )
	{
		led=led&(unsigned char)0x7F;
	}
	else
	{
		led=led|(unsigned char)0x80;
	}
	unsigned char str[5];
	memset(str,0,5);
	str[0]=(unsigned char)0xC6;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	Sleep(50);
	str[0]=led;
	WriteFile(hCom,str,1,length,NULL);
	delete length;
}

void CWizardDlg::OnBnClickedButton11()
{
	// TODO: 在此添加控件通知处理程序代码
	MessageBox(_T("发送一封电子邮件至tianda_spl@sina.com,写明您个人信息。"),_T("注册"),MB_OK);
}

HBRUSH CWizardDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

	// TODO:  在此更改 DC 的任何属性

	// TODO:  如果默认的不是所需画笔,则返回另一个画笔
	return hbr;
}

void CWizardDlg::OnBnClickedButton12()
{
	// TODO: 在此添加控件通知处理程序代码

	//这个是测电容
	char str[20];
	unsigned char c=0x00;
	memset(str,0,20);
	str[0]=(char)0xCE;
	DWORD* length=new DWORD;
	WriteFile(hCom,str,1,length,NULL);
	DWORD dwEvtMask;
	OVERLAPPED o;
	o.hEvent=CreateEvent(NULL,FALSE,FALSE,NULL);
    o.Internal=0;
    o.InternalHigh=0;
    o.Offset=0;
    o.OffsetHigh=0;
	SetCommMask(hCom, EV_RXCHAR);
	WaitCommEvent(hCom, &dwEvtMask, &o);
	if(dwEvtMask&EV_RXCHAR) 
    {
		ReadFile(hCom,str,1,length,NULL);
		c=(unsigned char)str[0];
    }
	double Value=c;
	Value=1.0/ log( (double)255.0/(255-Value) ) - 0.47;
	sprintf(str,"%1.3lf uF",Value);
	CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT4);
	CString Capacitor(str);
	pEdit->SetWindowTextW(Capacitor);
	delete length;
}

⌨️ 快捷键说明

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