cnPack上有串口的控件可以直接使用,rs232的

解决方案 »

  1.   

    正好我也在做:
    Delphi中ComPort通信的数据处理
    1.串口通信的基本原理:
    一般计算机与外部设备通讯有两种方式:
    并行传送(Parallel ):一次的传输量为8个位(1字节),通过并行端口,如打印机
    串行传送(Serial ):一次只传输1个位,通过串行端口,如RS-232位与字节的概念:
    二进制中的每一位0和1,被叫做一个位,每8个位构成一个字节
    一个字节中最右面的位被称为第0位,最左面的位被称为第7位。传输过程中的字节类型:一般有两种。
    1.文本(字符字母、标点符号等)在计算机中存储时,每个不同的字符都用不同的数值来表示。这些数值的范围通常在0-127或0-255范围。7位:ASCII码,每个字节留一个备用位8位:前128个遵循ASCII码规则,其余的128个用来做扩展字符、数字符号、图形字符等编码。2.二进制数据:
    某些可执行指令文件和图形图像文件就是以二进制形式而不是ASCII码形式存储的。
    一个数据可用二进制形式存储,可以占多个字节。在通信领域,常常把这种类型的资料叫做二进制数据。
    几个概念:
    1波特率:每秒所能产生的最大电压状态改变率(一秒钟可以振荡的次数)bps
    通信双方必须要取得一样的通信速度。原始信号经过不一样的波特率取样后,所得的结果完全不一样,如取样速度只有原来一半时,信号被跳着取样,数据因此错误。2数据位:有5,6,7,8四种3停止位:在奇偶位(选择有奇偶校验)或数据位(选择无奇偶校验)之后发送或接收的停止位。停止位的长度可在1、1.5或2位 三者中选择)。4奇偶校验位:数据传输之后是可供选择的奇偶校验位发送和接收。奇偶位的状态取决于选择的奇偶校验类型。如果选择奇校验,则该字符数据中为1的位数与校验位相加,结果应为奇数。可选奇,偶或无。
    如果要保证通讯畅通。通讯双方以上4项设置必须一致。
    一个字节是8位,数据位可以7位,然后一位校验位就8位了。
    这些参数可以自己设置。但是如果要保证通讯畅通。通讯双方以上4项设置必须一致。
    2.Delphi中串口通信常用的常用控件
    进行串口通讯可以用Windows的Api函数:
    Delphi的Windows.pas单元文件中已经将Win32 API均声明进去,因此在Delphi里面使用API时只要在uses 区段中加入Windows,使其引用该单元文件即可。
    串行通信相关函数:
      

  2.   

    对,delphi有组件可以使用。另外,楼上的,vc做界面还真不如delphi好看和方便。
      

  3.   

    cnpack 网站 里面 有个 cnvcl 组件包,此组件包中一个TcnRS232的组件。可以满足LZ 的需求