我现有一个信号发生器,可以产生不同的电压和电流,这台信号发生器通过串口与电脑相连我需要用VC编写一个小软件,实现两个功能:
1.用软件来设定电压值和电流值,并通过串口发送给信号发生器;
2.从串口读取信号发生器的数据,并把信号发生器当前的电压和电流值在软件界面上显示出来通信协议如下:
Serial communications will use the following protocol:
        <STX><CMD><,>ARG><,><CSUM><ETX>
    注释:
       <STX> = 1 ASCII 0x02 Start of Text character
       <CMD> = 2 ASCII characters representing the command ID
       <,> = 1 ASCII 0x2C character
       <ARG> = Command Argument
       <,> = 1 ASCII 0x2C character
       <CSUM> = Checksum 
       <ETX> = 1 ASCII 0x03 End of Text character  
    当要发送电压信号时,将当<CMD> 设置为31
    当要发送电流信号时,将当<CMD> 设置为32
    当要接收信号发生器当前的电压信号时,<CMD> 为61
    当要接收信号发生器当前的电流信号时,<CMD> 为62我从来没接触过串口通信,从网上查了一些资料和例子,我现在准备用VC带的ActiveX控件Microsoft Communications Control来实现,我现在有几个问题需要咨询大家:
   1.怎么设置串口号?
   2.如何从串口读取信号发生器的当前状态?
   3.如何通过串口向信号发生器发生数据?我对串口通信一无所知,希望大家能帮帮忙,帮我提供一些思路

解决方案 »

  1.   

    《Visual C++_Turbo C串口通信编程实践》这本书,龚建伟老师的,你搜一下,讲的很细
      

  2.   

    // 既然已经在网上搜索过了,那就继续搜索”VC MSCOMM“,很多详细的代码
      

  3.   

    // MSCOMM的话,
    // 获取的格式按照串口的设定,可以是字符串,也可以是二进制串
    // 是否会一直发送数据,要根据具体的设备。看你的通讯协议,似乎是应答式的,也就是只有电脑要数据之后,发生器才会返回数据。
    // 接收数据等,在OnComm中。
    // 具体编程还请看例程,多试试就知道了。
      

  4.   

    这本书看前3章还是4章就够了,主要看看MSCOMM,以后可以看看SerialPort
      

  5.   

    谢谢echoyin59和lfchen,问题已经解决了,谢谢你们的帮助