用Windows API就可以了啊……

解决方案 »

  1.   

    串口通信有几种办法
    1)通过WindowsApi函数CreateFile(..),Read(..)等,这样的方式比较灵活,开发的程序功能比较强大
    2)用microsoft的Mscomm控件,实现
    3)tourpower公司的免费通信控件Spcomm
    4)直接用delphi内嵌汇编的方式,用汇编写读写端口的部分,其他部分用object pascal 写,这样读写端口的效率比较高
      

  2.   

    //PortReadByte 函数
    //参数:  Port Address
    //返回    给定Port的byte值
      function PortReadByte(Addr:Word):Byte; assembler;register;
      asm
       MOV DX,AX
       IN AL,DX
      end;
    //高速读端口的函数
    //参数:  portadress
    //返回: 给定 port 的word值
    //注释: 可能有些卡和计算机不能访问全部的word
        function PortReadWord(Addr:Word):Word; assembler;register;
        asm
          MOV DX,AX
          IN AX,DX
        end;
      

  3.   

    //portWriteByte 函数
      procedure PortWriteByte(Addr:word;Value:Byte); assembler;register;
     asm
        XCHG AX,DX
        OUT DX,AL
     end;
    //高速写端口过程
    //工作时,可能有些卡和计算机不能访问全部的word
     procedure PortWriteword(Addr:word;Value:Byte); assembler;register;
     ASM
        XCHG AX,DX
        OUT DX,AX
     END;