系统项目需要对串口的通讯操作进行DLL模式化封装:解决问题,同样的功能不同的设备串口通讯协议可能不同,但功能是确定的。
偶就想把串口通讯封装进DLL,通过更换不同版本DLL来适应硬件的更换。
   刚刚接触,串口通讯,通读了SpComm的代码,得出结论如下:
   如果要封装DLL必须直接使用串口通讯API,并且使用重叠(异步)模式 
   串口通讯API:http://msdn.microsoft.com/en-us/library/aa363194.aspx
----------------------------------------
   在工程控制方面,我们对硬件操作一般是都需要时效性的,换言之,如果在可接收的时间内不能完成串口的操作我们就可以认为失败。大家对这点可否认同?其实是封装DLL的一个可行性前提。
----------------------------------------
   初步想法,调用者初始化,串口设备,保存串口设备句柄
   读写操作全部根据句柄进行操作
   DLL输出4个函数:   初始化,打开串口设备
   读数据
   写书
   析构,关闭串口设备
   
   DLL和应用程序不启动线程或者Timer。
----------------------------------------
   欢迎高手们探讨。
   开发完成,开源给大家。

解决方案 »

  1.   

    串口通讯,要做成Dll,不能用控件,必须使用Windows API 函数,不过可以在Dll中使用回调函数来实现数据与主程序间的交换!
      

  2.   

    如果用回调函数,
    那么就必须在DLL中启动线程或Timer这个项目的硬件控制和访问全部是由上位机发起的是有上层程序来主动取得数,还是,采用回调,有经验的给来分析下吧
      

  3.   

    com通讯肯定是要做成线程模式,除此外这个应该没有其他可以实现的方法,