请各位大虾给个c#下编写串口通信的代码例子,要求是用多线程实现的!一个用来接受,一个用来发送。  我是要在有wince系统的嵌入式设备中能够运行的,以前用c#写了个串口通信的,在wince模拟器上可以跟设备正常通信,可是下载到设备上运行就不行了,我把设备上的串口的2,3短接起来,比如我本来想发送个 0x16 ,可是发现发送的数据是 0x16,0x4f,,,,,会多出很多乱七八糟的数据,也找不出什么原因,哪位大哥知道这是为什么呀?
   我想用c#多线程来实现串口通信,有没有谁有这样的代码贴出来给小弟我学习下,先谢谢了!

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3606/3606205.xml?temp=.773266
      

  2.   

    基本功能api封装一个类:
    这是对api功能的封装。
    createfile
    readfile
    writefile
    setcommstate
    getcommstate
    settimeout
    gettimeout
    buildDCB
    然后,根据需要,自己封装一个调用的类:
    ReadThread()
    Read()
    Send()
    SetComm()
    GetComm()
    IsOpend()
    Open()
    Close()
    Event On_Comm
    就ok了
      

  3.   

    为什么用 CreateFile 打开串口 会出错,老是异常?会不会是因为创建项目的时候我选择了智能设备应用程序有关,选择了这个,本来的一些资源就不能用了。那我要 用什么函数来操作 wince下智能设备应用程序 下的串口呢?代码是
     hComm = CreateFile("COM1" ,GENERIC_READ | GENERIC_WRITE,0, 0,OPEN_EXISTING,0,0);
    或者
     hComm = CreateFile("COM1:" ,GENERIC_READ | GENERIC_WRITE,0, 0,OPEN_EXISTING,0,0);
    两种都试过,都不行啊。