帮忙看下delphi7 spcomm控件

电脑接受从单片机发送的数据,程序如下,上位机接受不到数据,求高人给看下哪出错了,unitUnit1;interfaceusesWindows,Messages,SysUt... 电脑接受从单片机发送的数据,程序如下,上位机接受不到数据,求高人给看下哪出错了,
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, SPComm;

type
TForm1 = class(TForm)
Comm1: TComm;
Memo1: TMemo;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
procedure Comm1ModemStateChange(Sender: TObject; ModemEvent: Cardinal);
procedure Memo1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
viewstring: string;
i: integer;
rbuf:array[1..16] of byte;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
comm1.StartComm;
end;
//打开串口
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
comm1.StopComm;
end;
//关闭串口
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i: integer;

begin

move(buffer^, pchar(@rbuf)^, bufferlength);
for i:= 1 to bufferlength do
viewstring := viewstring + inttohex(rbuf[i], 2) + '';
viewstring := '接受' + viewstring;
memo1.Lines.Add(viewstring);
memo1.Lines.Add('');

end;

procedure TForm1.Comm1ModemStateChange(Sender: TObject;
ModemEvent: Cardinal);
begin

end;

procedure TForm1.Memo1Change(Sender: TObject);
begin

end;

end.
展开
 我来答
a295281315
2014-02-26 · TA获得超过196个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:136万
展开全部
procedure TForm1.FormShow(Sender: TObject);
begin
    comm1.onReceiveData:=Comm1ReceiveData;     //关键句
    comm1.stopcomm;
    try  
         comm1.StartComm;
    except
         comm1.stopcomm;
         //.....
    end;
end;
更多追问追答
追问
try前边为啥要来一遍comm1.stopcomm
追答
防止重复打开串口导致的出错。
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103R8T6是ST旗下的一款常用的增强型系列微控制器,是一款基于ARM Cortex-M内核的微控制器。STM32F103R8T6主要面向消费类电子产品、工业控制、医疗仪器、汽车电子等领域,可用于开发各种类型的应用。STM32... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
wfymqj2011
2014-02-25
知道答主
回答量:12
采纳率:0%
帮助的人:8.9万
展开全部
会不会是Comm1中没有正确配置 串口的 波特率 数据位 停止位等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式