pc通过 串口和单片机 通信
pc从串口采集 数据,数据是单片机发出来,一秒大约有20帧左右。并保持实时性把数据解析显示在pc上。
我的问题 是 串口是通信是采用串口控件还是 采用串口类好些?
本人现在 正用串口控件,但是感觉 控件封装的 数据格式很费解,safearray ,variant 等搞得我很迷惑!
不知道如何下手!
本人现在用的事件触发,每来一次数据到缓冲区,就产生中断,就去取数据,不知这样做的实时性会怎么样!

解决方案 »

  1.   

    windows不是实时OS,实时性都不能得到保障
    不过PC速度够快,一般应用都不用担心实时问题。
    串口是通信是采用串口控件还是 采用串口类好些,都差不多。用SDK函数也行,串口SDK函数已经够简明扼要了
      

  2.   

    cpu机器处理足够快,一般数据都可以处理过来safearray ,variant 进行了数据封装,各种数据类型都可以包含进去,参考一下相关资料就知道大概怎么处理了
      

  3.   

    串口编程的方式有三种:一种MSCOMM控件;二种CSerialPort v1.21类;三种WINDOWS API
    1、MSCOMM控件实例
    参考:http://dev.yesky.com/231/2309731_1.shtml
    2、 CSerialPort v1.21类
    参考:http://www.naughter.com/serialport.html
    3、WINDOWS API
       CreateFile ReadFile WriteFile SetCommState 等函数
    关于实时性的问题,你可以把程序的优先级设置成最高级别。
      

  4.   

    可以考虑用WINDOWS API 做,这个自由度比较大,我刚做了一个。
      

  5.   

    "按ASCII码"));
    "按2进制"));
    "按16进制"))
    里面好像有这么几种转换  ,大家给我解释一下
      

  6.   


    楼上说的对,这个应该安协议来分析,
    例如这个
    通用数据格式:同步头 长度 命令字 地址 内容 校验和
    4 BYTE 2 BYTE 1 BYTE 1 BYTE N BYTE 1 BYTE其中的同步头固定为:0xEB,0x95,0xEA,0x59.
    长度:不包含同步头,除同步头的4字节外的本包所有的数据字节。低字节先发送。
      

  7.   

    用串口类好,控件会在移植时代来一定的问题
    参看下面文章:
    http://www.joyvc.cn/NetworkAndCommunication/NetworkAndCommunicationGroup00141.html
    也可以用CSerialPort类
      

  8.   

    不要用串口控件,到时莫名其妙的问题一大堆,你还无法知道控件内部哪里出问题了。用串口类。如果熟悉的话用串口API更好。
      

  9.   

    不要用串口控件,到时莫名其妙的问题一大堆,你还无法知道控件内部哪里出问题了。用串口类。如果熟悉的话用串口API更好。