版的串口调试助手源代码.怎么实现串口发送文件的

版的串口调试助手源代码.怎么实现串口发送文件的,第1张

如果你测试的是同一台机子上的两个串口,就连接好2个串口,然后打开两次串口调试助手,分别选好串口编号,设定波特率等参数,点连接,然后在发送区随便填点信息点发送,打开的2个串口调试助手的窗口能互相发送接收,就说明这两个串口能正常通信

如果测试2台不同机子上的串口,就分辨在两台机子上打开串口调试助手, *** 作一样

如果只测试一个串口,RS422和RS485方式的是测不了的,RS232的可以短接2,3针脚,打开一个串口调试助手,选好串口编号和参数,发送信息能在接收区得到回复,证明该串口能工作

读取串口的上传数据,利用SOCKET转发到网络上

SOCKET读取/接受网络上发来的数据,下发到串口设备

数据中转啊,数据转发,中间是数据,两侧,一侧是与串口打交道,一侧是和网络打交道

用串口控制继电器开关,只要能识别出串口接收的数据是什么就行。如果只是一个继电器,那只有两个动作,开和关,所以,自己确实两个控制代码,如用0xA1表示开,0xAF表示关。串口收到数据后,判断是什么代码后,就执行相应动作即可。如果想简单的控制代码,就用这一个字节,想串口控制更可靠,就用多字节代码,并有校验码,保证串口通信控制的正确可靠。

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, SPComm;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Comm1: TComm;

Memo1: TMemo;

Edit1: TEdit;

Edit2: TEdit;

procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;

BufferLength: Word);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

rbuf : array[18] of byte;

implementation

{$R dfm}

function HexStrToStr(const S:string):string;

//16进制字符串转换成字符串

var

t:Integer;

ts:string;

M,Code:Integer;

begin

t:=1;

Result:='';

while t<=Length(S) do

begin //xlh 20061021

while (t<=Length(S)) and (not (S[t] in ['0''9','A''F','a''f'])) do

inc(t);

if (t+1>Length(S))or(not (S[t+1] in ['0''9','A''F','a''f'])) then

ts:='$'+S[t]

else

ts:='$'+S[t]+S[t+1];

Val(ts,M,Code);

if Code=0 then

Result:=Result+Chr(M);

inc(t,2);

end;

end;

procedure TForm1Comm1ReceiveData(Sender: TObject; Buffer: Pointer;

BufferLength: Word);

var

data,vdata : double ;

str :string;

begin

SetLength(Str,BufferLength);

move(buffer^,pchar(@rbuf[1])^,bufferlength);

memo1linesAdd( floattostr(rBuf[1]));

end;

procedure TForm1FormCreate(Sender: TObject);

begin

Comm1commname := 'com'+inttostr(6) ;

comm1baudrate := 9600 ;

comm1startcomm;

end;

procedure TForm1Button1Click(Sender: TObject);

var

str:string;

begin

str:= HexStrToStr(edit1Text);

form1comm1writecommdata(pchar(str),length(str));

end;

procedure TForm1Button2Click(Sender: TObject);

var

str:string;

begin

str:= HexStrToStr(edit2Text) ;

form1comm1writecommdata(pchar(str),length(str));

end;

end

看您做什么啦 如果是和下位机通讯 先用comm1连接 在发送 或者上面的代码接受

这里使用的是16进制发送

以上就是关于版的串口调试助手源代码.怎么实现串口发送文件的全部的内容,包括:版的串口调试助手源代码.怎么实现串口发送文件的、求串口转网口软件Serial2Net的vc的源代码,好的话可在加分、程序如何写串口控制继电器开关求思路和源码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9284043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存