读不到串口数据?

wjqname 2004-11-10 09:46:13
procedure TForm1.Timer1Timer(Sender: TObject);
var
bf: array[0..10] of char;
n:cardinal;
begin
n:=0;
if readfile(hcom,bf,10,n,nil) then
listbox1.Items.Add(bf);
end;

procedure TForm1.FormCreate(Sender: TObject);
var dcb:TDCB;
begin
hcom:=createfile('com1',GENERIC_READ and GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if hcom=invalid_handle_value then
begin
showmessage('打开串口失败!') ;
exit;
end;
if not GetCommState(hCom,dcb) then
begin
showmessage('读串口状态失败!') ;
exit;
end;
dcb.BaudRate:=1200;
dcb.ByteSize:=8;
dcb.Parity:=NOPARITY;
dcb.StopBits:=ONESTOPBIT;
if SetCommState( hCom, dcb ) then

if not SetupComm( hcom, 1024, 1024 ) then
begin
CloseHandle( hcom );
showmessage('设置缓冲失败!')
end;
end;
...全文
216 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjqname 2004-11-11
  • 打赏
  • 举报
回复
给分失败,对不起了
劣势 2004-11-10
  • 打赏
  • 举报
回复
学习
zwb666 2004-11-10
  • 打赏
  • 举报
回复
学习
beyondtkl 2004-11-10
  • 打赏
  • 举报
回复
没写过串口 学习。
zhangheaaa 2004-11-10
  • 打赏
  • 举报
回复
可能是你的COMM1口,已经被占用了,无法使用,

或者COMM1有问题,无法使用。

可以用下面的方法获取可以使用的串口:

(********************************************************************
**
** GetAvailableComPorts -
**
** This is a procedure whose purpose is to determine
** which COM ports are available on the user's computer. It then
** fills up the PortsComboBox with those available COM port numbers.
**
********************************************************************)

procedure TJeffsForm.GetAvailableComPorts();
var
i : Integer;
S : String;
ComName: array[0..9] of Char;
TheComHandle: Integer;

begin

(*
** Okay, Clear everything in the PortsComboBox because
** we want to start off fresh.
*)

PortsComboBox.Clear();

(*
** Windows 95/98 can only handle up to 50 COM ports.
** All we are doing here is checking to see if Windows
** "can" open up the COM port. If so, then we know it's
** available. And so we add it to our ComboBox list
** and of course close the COM port each time we check it.
*)

for i := 1 to 50 do begin

StrFmt( ComName, '\\.\COM%d', [i] );

TheComHandle := CreateFile
(
ComName, // name
GENERIC_READ or GENERIC_WRITE, // access attributes
0, // no sharing
nil, // no security
OPEN_EXISTING, // creation action
FILE_ATTRIBUTE_NORMAL or
FILE_FLAG_OVERLAPPED, // attributes
0 // no template
);

if ( TheComHandle <> INVALID_HANDLE_VALUE ) then begin

S := Format('COM%d', [i]);
PortsComboBox.Items.Add(S);

end;

CloseHandle( TheComHandle );

end; {end of for loop}

end;

wjqname 2004-11-10
  • 打赏
  • 举报
回复
原来是 hcom:=createfile('com1',GENERIC_READ * or * GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
我写成了and了,笔误,现在可以正常了
wjqname 2004-11-10
  • 打赏
  • 举报
回复
加了也不行我用mscomm只用设置以下几个属性:
settings:1200,n,8,1
rthreshold:10
其他采用确省值就可以接受到数据了
ksaiy 2004-11-10
  • 打赏
  • 举报
回复
file_flag_overlapped

你看一下这个参数。
wjqname 2004-11-10
  • 打赏
  • 举报
回复
不对,我用mscomm,spcomm很轻易的就能读到数据
内容概要:本文提出了一种基于改进扩散模型的高海拔地区新能源高波动出力场景生成方法,并提供了完整的Python代码实现。该方法针对高海拔地区风能、光伏等新能源出力波动剧烈、不确定性高的特点,通过优化扩散模型的结构与训练策略,有效捕捉历史数据的概率分布特征与时序相关性,从而生成高质量、多样化的出力场景。文中详细阐述了模型的数学推导、网络架构设计、损失函数优化及采样算法改进,并通过实验证明其在拟合精度、场景多样性与稳定性方面优于传统生成模型,为电力系统在高比例新能源接入下的规划、调度与风险评估提供了可靠的场景输入支持。; 适合人群:具备一定Python编程能力和机器学习基础,从事新能源发电预测、电力系统分析、智能优化、场景生成等方向研究的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①用于高海拔地区风电、光伏出力的不确定性建模与多场景生成;②支撑含高渗透率新能源的电力系统随机优化调度、鲁棒决策与风险评估;③为相关学术研究、论文复现与算法改进提供可运行的技术方案与代码基础; 阅建议:建议者结合所提供的完整资源(代码、数据集、说明文档)进行实践操作,重点关注扩散模型的前向加噪与反向去噪过程的设计细节,以及如何将其适配于新能源时序数据的生成任务,通过参数调优与对比实验深入理解模型的生成机制与性能边界。
内容概要:本文围绕基于静态约束法的配电网电动汽车接入容量评估展开研究,提出了一种在新型电力系统背景下评估主动配电网对电动汽车承载能力的方法。研究通过构建数学模型,结合潮流计算与关键约束条件(如电压越限、线路过载等),量化分析配电网可承受的最大电动汽车充电负荷容量,旨在识别规模化电动汽车接入带来的潜在运行风险,并为电网规划与运行提供科学依据。文中配套提供了完整的Matlab代码实现,便于仿真验证与结果复现。此外,该研究与分布式光伏承载力评估、电动汽车可调能力分析等方向形成技术联动,展现了多主题协同的研究体系。; 适合人群:具备电力系统分析基础理论知识及Matlab编程能力的高校研究生、科研机构研究人员,以及从事新能源并网、智能配电网规划与运行等相关领域的工程技术人员。; 使用场景及目标:①用于学术研究中的模型复现与论文撰写支撑;②评估实际配电网中电动汽车大规模接入的可行性与安全边界,指导充电基础设施布局;③作为高校教学案例,帮助学生深入理解电网承载力评估的核心原理、建模方法与仿真技术; 阅建议:建议结合文中提及的相关研究方向(如二阶锥规划、多面体聚合方法等)进行对比学习,充分利用所提供的Matlab代码与网盘资料开展仿真实验,重点关注约束条件的设定逻辑与潮流计算模块的实现细节,以深化对评估模型机理与工程应用价值的理解。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧