📄 iotestdlg.cpp
字号:
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CIOTestDlg message handlers
BOOL CIOTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CenterWindow(GetDesktopWindow()); // center to the hpc screen
AfxBeginThread((AFX_THREADPROC)AinThread,this);
AfxBeginThread((AFX_THREADPROC)KeyBoardThread,this);
// TODO: Add extra initialization here
isChange=FALSE;
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 0));//GPH0 = input
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 2));//GPH1 = input
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 4));//GPH2 = input
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 6));//GPH3 = input
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 8));//GPH4 = input
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 10));//GPH5 = input
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 12));//GPH6 = input
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 14));//GPH7 = input
pIOPreg->rGPECON = (pIOPreg->rGPECON & ~(0x3 << 24));//GPE12 = 高度输入
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 6)) | (0x1 << 6);//GPG3 行走
//pIOPreg->rGPGDAT |= (0x1 << 3);
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 10)) | (0x1 << 10);//GPG5 制动
//pIOPreg->rGPGDAT |= (0x1 << 5);
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 12)) | (0x1 << 12);//GPG6 前左转
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 14)) | (0x1 << 14);//GPG7 后左转
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 16)) | (0x1 << 16);//GPG8 前右转
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 22)) | (0x1 << 22);//GPG11 后右转
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 18)) | (0x1 << 18);//GPH9 前左降
pIOPreg->rGPFCON = (pIOPreg->rGPFCON & ~(0x3 << 0)) | (0x1 << 0);//GPF0 前左升
pIOPreg->rGPFCON = (pIOPreg->rGPFCON & ~(0x3 << 12)) | (0x1 << 12);//GPF6 前右降
pIOPreg->rGPECON = (pIOPreg->rGPECON & ~(0x3 << 30)) | (0x1 << 30);//GPE15 前右升
pIOPreg->rGPECON = (pIOPreg->rGPECON & ~(0x3 << 28)) | (0x1 << 28);//GPE14 后左降
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 20)) | (0x1 << 20);//GPH10 后左升
pIOPreg->rGPBCON = (pIOPreg->rGPBCON & ~(0x3 << 0)) | (0x1 << 0);//GPB0 后右降
pIOPreg->rGPBCON = (pIOPreg->rGPBCON & ~(0x3 << 2)) | (0x1 << 2);//GPB1 后右升
return TRUE; // return TRUE unless you set the focus to a control
}
void CIOTestDlg::OnButtonGpe11()
{
pIOPreg->rGPGDAT |= (0x1 << 6);
Sleep(300);
pIOPreg->rGPGDAT &= ~ (0x1 << 6);
}
void CIOTestDlg::OnButtonGpe12()
{
pIOPreg->rGPGDAT |= (0x1 << 7);
Sleep(300);
pIOPreg->rGPGDAT &= ~ (0x1 << 7);
}
void CIOTestDlg::OnButtonGpe13()
{
pIOPreg->rGPGDAT |= (0x1 << 8);
Sleep(300);
pIOPreg->rGPGDAT &= ~ (0x1 << 8);
}
void CIOTestDlg::OnButtonGpe14()
{
pIOPreg->rGPGDAT |= (0x1 << 11);
Sleep(300);
pIOPreg->rGPGDAT &= ~ (0x1 << 11);
}
void CIOTestDlg::OnButtonGpe15()
{
pIOPreg->rGPBDAT |= (0x1 << 0);
Sleep(100);
pIOPreg->rGPBDAT &= ~ (0x1 << 0);
}
void CIOTestDlg::OnButtonGpf0()
{
pIOPreg->rGPHDAT |= (0x1 << 9);
Sleep(100);
pIOPreg->rGPHDAT &= ~ (0x1 << 9);
}
void CIOTestDlg::OnButtonGpf4()
{
pIOPreg->rGPFDAT |= (0x1 << 0);
Sleep(100);
pIOPreg->rGPFDAT &= ~ (0x1 << 0);
}
void CIOTestDlg::OnButtonGpf5()
{
pIOPreg->rGPFDAT |= (0x1 << 6);
Sleep(100);
pIOPreg->rGPFDAT &= ~ (0x1 << 6);
}
void CIOTestDlg::OnButtonGpf6()
{
pIOPreg->rGPEDAT |= (0x1 << 15);
Sleep(100);
pIOPreg->rGPEDAT &= ~ (0x1 << 15);
}
void CIOTestDlg::OnButtonShutdown()
{
pIOPreg->rGPGDAT &= ~ (0x1 << 6);Sleep(10);
pIOPreg->rGPGDAT &= ~ (0x1 << 7);Sleep(10);
pIOPreg->rGPGDAT &= ~ (0x1 << 8);Sleep(10);
pIOPreg->rGPGDAT &= ~ (0x1 << 11);Sleep(10);
pIOPreg->rGPHDAT &= ~ (0x1 << 9);Sleep(10);
pIOPreg->rGPFDAT &= ~ (0x1 << 0);Sleep(10);
pIOPreg->rGPFDAT &= ~ (0x1 << 6);Sleep(10);
pIOPreg->rGPEDAT &= ~ (0x1 << 14);Sleep(10);
pIOPreg->rGPEDAT &= ~ (0x1 << 15);Sleep(10);
pIOPreg->rGPHDAT &= ~ (0x1 << 10);Sleep(10);
pIOPreg->rGPBDAT &= ~ (0x1 << 0);Sleep(10);
pIOPreg->rGPBDAT &= ~ (0x1 << 1);Sleep(10);
}
void CIOTestDlg::OnButtonGpb0()
{
pIOPreg->rGPEDAT |= (0x1 << 14);
Sleep(100);
pIOPreg->rGPEDAT &= ~ (0x1 << 14);
}
void CIOTestDlg::OnButtonGpb1()
{
pIOPreg->rGPHDAT |= (0x1 << 10);
Sleep(100);
pIOPreg->rGPHDAT &= ~ (0x1 << 10);
}
void CIOTestDlg::OnButton1()
{
pIOPreg->rGPHDAT |= (0x1 << 9);
Sleep(10);
pIOPreg->rGPFDAT |= (0x1 << 6);
Sleep(10);
pIOPreg->rGPEDAT |= (0x1 << 14);
Sleep(10);
pIOPreg->rGPBDAT |= (0x1 << 0);
Sleep(100);
pIOPreg->rGPHDAT &= ~ (0x1 << 9);Sleep(10);
pIOPreg->rGPFDAT &= ~ (0x1 << 6);Sleep(10);
pIOPreg->rGPEDAT &= ~ (0x1 << 14);Sleep(10);
pIOPreg->rGPBDAT &= ~ (0x1 << 0);Sleep(10);
}
void CIOTestDlg::OnButtonGpb6()
{
pIOPreg->rGPBDAT |= (0x1 << 1);
Sleep(100);
pIOPreg->rGPBDAT &= ~ (0x1 << 1);
}
void CIOTestDlg::OnButtonUp()
{
pIOPreg->rGPFDAT |= (0x1 << 0);Sleep(20);
pIOPreg->rGPEDAT |= (0x1 << 15);Sleep(20);
pIOPreg->rGPHDAT |= (0x1 << 10);Sleep(20);
pIOPreg->rGPBDAT |= (0x1 << 1);Sleep(20);
Sleep(200);
pIOPreg->rGPFDAT &= ~ (0x1 << 0);Sleep(20);
pIOPreg->rGPEDAT &= ~ (0x1 << 15);Sleep(20);
pIOPreg->rGPHDAT &= ~ (0x1 << 10);Sleep(20);
pIOPreg->rGPBDAT &= ~ (0x1 << 1);Sleep(20);
}
void RTControl(void *d)
{
CIOTestDlg *dlg = (CIOTestDlg *) d;
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 12)) | (0x1 << 12);//GPG6 前左转
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 14)) | (0x1 << 14);//GPG7 后左转
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 16)) | (0x1 << 16);//GPG8 前右转
pIOPreg->rGPGCON = (pIOPreg->rGPGCON & ~(0x3 << 22)) | (0x1 << 22);//GPG11 后右转
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 18)) | (0x1 << 18);//GPH9 前左降
pIOPreg->rGPFCON = (pIOPreg->rGPFCON & ~(0x3 << 0)) | (0x1 << 0);//GPF0 前左升
pIOPreg->rGPFCON = (pIOPreg->rGPFCON & ~(0x3 << 12)) | (0x1 << 12);//GPF6 前右降
pIOPreg->rGPECON = (pIOPreg->rGPECON & ~(0x3 << 30)) | (0x1 << 30);//GPE15 前右升
pIOPreg->rGPECON = (pIOPreg->rGPECON & ~(0x3 << 28)) | (0x1 << 28);//GPE14 后左降
pIOPreg->rGPHCON = (pIOPreg->rGPHCON & ~(0x3 << 20)) | (0x1 << 20);//GPH10 后左升
pIOPreg->rGPBCON = (pIOPreg->rGPBCON & ~(0x3 << 0)) | (0x1 << 0);//GPB0 后右降
pIOPreg->rGPBCON = (pIOPreg->rGPBCON & ~(0x3 << 2)) | (0x1 << 2);//GPB1 后右升
pIOPreg->rGPECON = (pIOPreg->rGPECON & ~(0x3 << 24));//GPE12 = 高度输入
pIOPreg->rGPHDAT |= (0x1 << 9);
Sleep(10);
pIOPreg->rGPFDAT |= (0x1 << 6);
Sleep(10);
pIOPreg->rGPEDAT |= (0x1 << 14);
Sleep(10);
pIOPreg->rGPBDAT |= (0x1 << 0);
Sleep(3000);
pIOPreg->rGPHDAT &= ~(0x1 << 9);
Sleep(10);
pIOPreg->rGPFDAT &= ~(0x1 << 6);
Sleep(10);
pIOPreg->rGPEDAT &= ~(0x1 << 14);
Sleep(10);
pIOPreg->rGPBDAT &= ~(0x1 << 0);
DWORD submask;
TCHAR a[100];
int x=0,y=0;
while(1){
submask=pIOPreg->rGPEDAT;
wsprintf(a,L"%x",submask);
dlg->SetDlgItemText(IDC_HI,a);
if((submask & 0x1000) == 0){
MessageBox(NULL,L"达到高度",L"DD",MB_OK);
break;
}
Sleep(200);
}
}
void CIOTestDlg::OnButtonH()
{
AfxBeginThread((AFX_THREADPROC)RTControl,this);
}
void CIOTestDlg::OnButton2()
{
pIOPreg->rGPBCON = (pIOPreg->rGPBCON & ~(0x3 << 12)) | (0x1 << 12);
pIOPreg->rGPBDAT |= (0x1 << 6);
}
void CIOTestDlg::OnButton3()
{
pIOPreg->rGPBCON = (pIOPreg->rGPBCON & ~(0x3 << 12)) | (0x1 << 12);
pIOPreg->rGPBDAT &= ~(0x1 << 6);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -