老习惯,例程在一楼.
所谓打码机,其实就是一个输入设备,每次输入特定格式的一个字符串,并用显而易见的开头结尾标记来让上位机识别,从而实现输入输出的自动化。
从这个角度讲,其实打码机的上位机软件,与其他串口助手一类的工具,只是多了一个对于字符串的分解分析和重新组合的过程。
所谓Demo,就是说与实际的生产工具,还是有一定区别的,比如例程内,对于单个字串结束的字符的标记是连续两个‘1’,而生产中常用的是‘\r’和‘\n’;再比如,例程的缓冲区设置为1024Byte字节,而生产工具中,一次传递的字串可能就超过了这个大小,所以具体缓冲区的大小要自行规划好;再比如,打码机的输入设备硬件,有用单片机模拟的HID输入设备(HID KEYBOARD DEVICES),有用的USB串口,有用的真实串口,例程中只考虑了HID键盘这种,也就是标准输入输出流,这个要结合项目的需求自己考虑。
当然,实际的项目中,需求可能有变化的地方还有很多,尤其在界面的安排上:每次打码是否要显示,显示是否要保存,保存多少列,是自动清除还是手动清除,保存的显示内容能不能修改;串口参数是否需要有配置界面;串口是否需要默认打开,还是要手动的打开和关闭;如何切换输入输出的端口或者数据来源。
等等等等,这些都不是框架能够涵盖的,框架仅仅是一个架子,能够正确的运行最简单的输入输出,并在代码设计上留下后续的变更空间。
希望能够帮助到,正好需要根据项目定制一个自动输入设备的,简单的上位机软件的,非科班出身的工程师们,节约学习和调试的时间。
例程在VS2010下完成。如果在VC6平台上开发,请关注我的另一份说明《VC++ VS2010对比VC6 串口控件的方法变更》,链接如下 - http://blog.csdn.net/jomoly/article/details/55098835