开关的样子和普通手按开关差不多,开关和计算机的COM口相连。实现的目的是脚踏或手按一下开关后,计算机能捕捉到信号,然后执行相应的操作。
有一个软件的使用说明中是这样描述的:7、脚踏开关的连接:串口(9孔D形头)的4,6,8三脚,其中脚4连接脚踏开关的公共脚(COM脚),脚6连常用脚(NO),脚8连常闭脚(NC)。(软件默认串口为COM1,系统会自动识别)。视频可以用s-video,s-video电缆或插头面对自己,定位柱朝上,四个针的编号是:从左到右,从上到下,依次是1,2,3,4,分别对应航空插座的1,2,3,4。为了系统的安全性,请使用工作站自带的脚踏开关。大家谁做过这样的软件,原理是怎样的?信号是如何捕捉的?有没有demo程序可以参考一下?谢谢!
有一个软件的使用说明中是这样描述的:7、脚踏开关的连接:串口(9孔D形头)的4,6,8三脚,其中脚4连接脚踏开关的公共脚(COM脚),脚6连常用脚(NO),脚8连常闭脚(NC)。(软件默认串口为COM1,系统会自动识别)。视频可以用s-video,s-video电缆或插头面对自己,定位柱朝上,四个针的编号是:从左到右,从上到下,依次是1,2,3,4,分别对应航空插座的1,2,3,4。为了系统的安全性,请使用工作站自带的脚踏开关。大家谁做过这样的软件,原理是怎样的?信号是如何捕捉的?有没有demo程序可以参考一下?谢谢!
解决方案 »
- 高难度的fastreport报表,请高手指教
- 请问EnumChildWindows怎么转换为Tbutton
- 如何监控shift键和方向键同事按下?谢谢
- 为何 unit1.Form1与Form1不是指向同一个地址呢?
- 关于页面过渡效果的问题,急!!!!!!!!!!!!!!!!!!!!!!!!!
- 请教一个子窗口句柄问题。
- 如何实现程序控制网络连接的“禁用”和“启动”??
- 有谁做过用堆栈解析表达式
- 在sql server中,怎样将两个时间,字符类型‘13:30:00’‘11:00:00’,相减得到‘2.5小时’
- 关于TComboBox的一点小问题
- 如何删除指定的文件目录?
- 一个有关TClientData和XML的问题??
[email protected]
我在网上找了这样一篇文章,是这样说的:
1。串口是用来作串行通讯的,它不能直接检测开关状态。可以考虑作一个下位机系统(单片机系统),先由下位机检测开关的检测,再通过微机与下位之间的通讯,将下位机采集到的开关状态上传给微机。在此之前要做一个通讯协议,约定两方通讯时,各组数据表示的意思。
2。第二个问题是不是你没表达清楚。
3。微机串口可以接一个485通讯模块,而下位机系统也必须有是一个485通讯芯片。
还不是很明白
按你的描述应该是一个双向开关,PC可以通过LPT口来读接通状态,不过最好的方式是买个I/O卡来检测开关状态。
MSComm1.PortOpen = True
MSComm1.DTREnable = True
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvCD ' Change in the CD line.
Debug.Print "CD"
Case comEvCTS ' Change in the CTS line.
Debug.Print "CTS"
Case comEvDSR ' Change in the DSR line.
Debug.Print "DSR"
Case comEvRing ' Change in the Ring Indicator.
Debug.Print "Ring"
End Select
End Sub
CreateFile,打开Com口的名字是这样的:COM2或者COM1或者.....
GetOverlappedResult
SetCommMask
WaitCommEvent
另外附上2年前的作品:一个项目中需要和串口通讯,我写了DLL支持串口异步通讯,并且用循环冗余校验,其中一些代码是侦查串口信号线状态改变的。
http://www.mszs.com/book/Connections/_notes/_Context/pro.rar
此外Delphi中有个很著名的Com口组件的原代码附上,这个作为参考更加清晰
http://www.mszs.com/book/Connections/_notes/_Context/SPCOMM.PAS祝你早日成功