我做的一个界面,现在需要我用串口给指纹识别模块发指令,指纹识别模块收到后就返回一条信息,然后我根据这条信息在进行判断,界面与指纹识别模块建立了通信,然后返回一条信息,指纹识别模块在给我录入指纹的图像.....现在就是这之间的通信怎么写,其次如何让这些来回发的信息都是自动进行的....我用c#写的界面...

解决方案 »

  1.   

    System.IO.Ports.SerialPort
    找到指纹模块的串口,打开,读写.还要根据你的要求看是否用线程.
    参考msdn或网上例子.
      

  2.   

    呵呵, 仅供参考.
    SerialPort 常用的方法有 Read,ReadLine, Write, WriteLine,及接收数据事件DataReceived, 根据设备不同的反馈数据自动做出反应, 示例如下:
            private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
            {
                string strRecv = serialPort1.ReadLine();
                switch (ParseCmd(strRecv))
                {
                    case CmdType.Cmd1:
                        string strFeedBack = ""; // 回复给设备的指令数据
                        //处理 strFeedBack
                        // ..
                        serialPort1.WriteLine(strFeedBack);
                        break;                case CmdType.Cmd2: // 在主窗体上显示设备发送的数据                    
                        // 因为当前方法不属于主线程, 要修改窗体UI, 必须通过 Invoke 回发更改请求
                        ShowMessage(strRecv);
                        break;                case CmdType.Cmd3: // 其他反馈
                        //若需要开启新线程处理
                        Thread th = new Thread(HandleCmd3);
                        th.Start(strRecv);
                        break;                case CmdType.UnKnownCmd: // 无法解析的反馈
                        //..
                        break;
                }
            }        private void ShowMessage(string message)
            {
                if (this.InvokeRequired)
                {
                    this.Invoke(new Action<string>(ShowMessage), message);
                }
                else
                {
                    listBox1.Items.Add(message);
                }
            }        private CmdType ParseCmd(string str)
            {            
                CmdType cmdTypeReturn = CmdType.UnKnownCmd;
                // 对从串口读出的数据进行解析, 得出需要回复指令类型
                // ...
                return cmdTypeReturn;
            }
       public enum CmdType // 指令类型
        {
            UnKnownCmd,
            Cmd1,
            Cmd2,
            Cmd3,
        }
      

  3.   

    看看指纹接口说明  至于串口通讯 研究一下System.IO.Ports.SerialPort类就可以了