在windows下用主板上自带的并口也可以输出TTL信号,简单的应用不需要单独配IO卡。
1.WinIO
首先声讨下csdn,既然要做社区,动不动就收钱,别人共享的代码,你未作任何贡献就收钱这合适么。
下载地址 https://www.softpedia.com/get/Programming/Components-Libraries/WinIo.shtml
推荐下载源码根据自己的需要编译成自己需要的版本。
2.检查自己的计算机是否具有并口
这一步看上去不起眼,实际上很重要,简单的办法看一下设备管理器是否具有lpt,如果有在后面板上又找不到,
那很可能是在主板上有但是没有导到后面板上。设备管理器不会无缘无故给个默认的lpt的。
3.将计算机设置成测试模式
在cmd下输入bcdedit.exe /set TESTSIGNING ON完成后重启计算机,桌面右下方就有字样显示进入测试模式。
同样的bcdedit.exe /set TESTSIGNING OFF可以退出测试模式。要想WINIO能够正常工作需要计算机工作在测试模式下。
4.下面就是代码了
初始化:
if(!InitializeWinIo())
{
AfxMessageBox(_T("Initialize WinIo Failed"));
return FALSE;
}
测试代码:
WORD m_nport = (WORD)0x378;
UINT temp_p;
static bool autoFlag = true;
if (autoFlag)
{
temp_p = (DWORD)0;
SetPortVal(m_nport, (DWORD)temp_p, 1);
}
else
{
temp_p = (DWORD)0xFFFF;
SetPortVal(m_nport, (DWORD)temp_p, 1);
}
CString txt;
txt.Format(_T("outputValue:%d"), temp_p);
OutputDebugString(txt);
autoFlag = !autoFlag;
退出代码:
ShutdownWinIo();