在Delphi中不通过第三方组件,直接利用系统函数(或者汇编语言)直接控制串口进行通讯。比如:我现在对串口发一个字节的数据,
有起始位(1 bit)、数据位(8 bit)、停止位(1 bit )、校验位(1 bit),这个比特流就10个数据位。
我怎样在发送这个数据包后改变“校验位(1 bit)”,也就是在其它通过此串口要得到的数据报以前,可改变这个数据包。

解决方案 »

  1.   

    用API写吧!如觉得难写就有MICROSOFT的MSCOM了,那个也是很简单的,你在ACTIVE中添加进去就行了
    还不行就加我的QQ了:81034291
      

  2.   

    不知道是我不明白你要表達的, 還是你理解根本是錯的>>我怎样在发送这个数据包后改变“校验位(1 bit)”,可改变这个数据包。
    我知道用vxd 是可以的, hook api 應該也可!問題是, 你改變了 校验位 後, 另一方收到的數據包, 校驗不正确, 可能會被丟棄的, 
    如果你真想做到這麼底層, 你應該選擇C++ 之類的開發工具, 而不應該選delphi
      

  3.   

    如果你真想做到這麼底層, 你應該選擇C++ 之類的開發工具, 而不應該選delphi
    =========================================================================
    同意楼上说的这句话!
    delphi高度的面向对象
    让你对低层的操作不是很清晰楼主说的串口通信我不清楚,帮你顶了
      

  4.   

    利用 Delphi实现串口通信的常用的方法有 3种:
    一是利用控件,如 MSCOMM控件和 SPCOMM控件;
    二是使用 API函数;
    三是调用其他串口通信程序。
      

  5.   

    如在WIN98下,可用DOS中断,直接写在ASM语句中.如:
      

  6.   

    兄弟不现实 ,我写医疗方面的工控 ,用汇编除非98 下要不然不行 用api太复杂了没必要