现在公司的一个项目需要将串口通讯封装到一个DLL中,供其它开发工具调用,如Delphi,
功能要求如下:
导出下列的界个函数:
   1、打开串口:Open(comm,baud)   2、发送:Send(int i) // i为要发送的一个数
   
   3、接收:int Read()   //返回要接受的数据 一个int 数   4、关闭串口  Close()初次做串口相关的,不知各位能否给个方案?打算用VC写

解决方案 »

  1.   

    无需提问,用Google一搜“VC串口通讯”一大片,还有原代码,自己看一看就行。
      

  2.   

    http://www.gjwtech.com/serialcomm.htm这上面包罗万象,足够对付你的任务了:)。
      

  3.   

    这些代码找到了不少
    现在想知道如何定义VC的DLL,能够在Delphi中正确调用
    是否要在DLL中作一个线程?
      

  4.   

    VC中建立工程的时候就选择MFC DLL就可以了。会自动为了生成一个工作线程的。或者你做成纯win的DLL。
      

  5.   

    如果你的项目中要用2个以上的串口,你的Dll怎么做。
    建议你使用COM组件技术或是开发成控件。
      

  6.   

    是什么意思?串口封装到DLL中和要用几个串口有什么关系?
      

  7.   

    回7楼,动态DLL(封装串口的打开,关闭,读取 等)中你如何在一个项目中操作2个以上的串口呢?
      

  8.   

    回8楼,在dll中的导出函数中用一个参数让客户传端口号就可以了。dll内部CreateFile这个端口。每次操作一个串口,就New一个串口类,传入串口名称就可以了。
      

  9.   

    回9楼,我以前也采用这种方法,觉得不太好用,首先使用时不直观,其次DLL中要管理串口类每次发送读取都要查表。
    目前我在VC的项目中都是使用导出DLL中的类。在其他语言中我都是用COM组件或是控件PS:我没有说你的方法不好,这是我个人的观点!