问题标签 [tcomport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arduino - 从 ComPort 退出中恢复
D5-pro:将 TurboPower APro 和 ComPort 和终端组件与 USB Arduino Nano 一起用于非常基本的 Comms-Terminal。一切正常,直到我拔下 USB 以模拟丢失端口。这一切都只是挂起,不会在不关闭和重新启动的情况下重新启动。
我找不到正在监视端口状态的事件或进程,因此我可以优雅地关闭端口。如果端口不存在,我可以阻止它被打开,但是一旦打开并且数据流入,我似乎就失去了对它的所有访问权限。
我还尝试了 Dejan Crnila 的 TComPort 和 Terminal,它也没有优雅地停止。它实际上崩溃了,我必须使用 TaskManager 将其全部关闭。
有人可以用一些代码片段指导我,这些代码片段可能表明该端口已丢失。或者是否有更好的免费组件来执行此操作。
serial-port - Delphi TcomPort 和 RS485 的问题
我正在尝试通过 Delphi 7-TComPort 库与 SMC LEC6 伺服电机控制器通信。我已阅读相关问题TComPort 和 Modbus。我的问题是如果我想发送一个包含 8 个字节的消息,我该如何指定停止位/开始位值?我需要将每个字节作为数据包和停止位分别发送还是由库自动完成?
delphi - Delphi 7 TComPort OnRxChar 不触发
我正在使用TComPort
我使用OnRxChar
事件来控制字节何时到达。
对于我发送的每个命令,我都会收到 3 个字节的字,但有时,OnRxChar
即使一次正确发送了 3 个字节,也只会收到 2 个字节,而没有收到剩余的字节。
我认为剩余的字节仍然在一些缓冲区中,但OnRxChar
没有为最后一个字节触发,为什么?
我究竟做错了什么?
编辑 1
一段代码
编辑 2,如果仅收到 2 个字节后,我发送其他 3 个字节,OnRxChar 触发,这次我收到 4 个字节,第一个字的最后一个字和整个第二个字
像这样:
A1 A2 | A3 B1 B2 B3
编辑 3
我删除了对 Synchronize 的调用,现在调用了该事件。当我进行测试时,我需要一些东西来制作日志。怎么做?
delphi - 通过通用接口的异步事件
我必须将几个测量设备连接到我的应用程序(即卡尺、体重秤……),而不是绑定到特定的品牌或型号,所以在客户端我使用带有通用方法的接口(QueryValue
)。设备连接在 COM 端口上并以异步方式访问:
- 请求一个值(= 在 COM 端口上发送一个特定的字符序列)
- 等待回复
在“业务”方面,我的组件在内部使用 TComPort,数据接收事件是TComPort.OnRxChar
. 我想知道如何通过界面触发此事件?这是我到目前为止所做的:
但我需要一个事件来知道何时GetValue
在客户端调用。执行这种数据流的常用方法是什么?
delphi - 使用 Serial comport 411f delphi 7 接收到的丢失数据
我有一个 Delphi 7 代码,它从 DSP TMS32F28069 接收传感器值。Delphi接收到的值是Hex文件数据。例如我发送数据:
F1;01;01;07;00;00;0A;00;00;00;00;F7
来自 DSP。
我使用 Comport 411f,实际上当我使用 Windows 10 64 位英文版时,一切都很好。但是当我使用windows chinese 64位时,有时接收到的数据有时会发生变化。我在几个使用windows 7 64位中文版的笔记本上试了试,都出现了同样的问题。windows 7 64位中文版接收到的文件显示:
F1;01;01;01;00;00;00;F7;00;00;F7;00. 或 F1;01;07;01;00;0A;00;00;F7;F7;00;00
并且总是改变。这是我在 Delphi 7 中编写的代码:
请给我任何建议,为什么会在 Windows 7 64 位中文版上发生这种情况?因为当我使用 Windows 7 64 位英文版时,它也可以正常工作。
谢谢
delphi - 使用串行comport 411f delphi 7发送数据失败
我有一个 Delphi 7 代码,可将传感器数据值发送到 DSP TMS32F28069。Delphi 发送的值是 Hex 文件数据。例如我发送数据:
F0;01;01;07;00;00;00;00;00;00;00;F7 来自德尔福。
我使用 Comport 411f,实际上当我使用 Windows 10 64 位英文版时,一切都很好。但是当我使用windows 7中文64位时,发送的数据从未被DSP接收到。我在几台使用windows 7 64位中文版的笔记本上试了试,同样的问题,没有收到数据。这是我在 Delphi 7 中编写的代码:
请给我任何建议,为什么会在 Windows 7 64 位中文版上发生这种情况?因为当我使用 Windows 7 64 位英文版时,它也可以正常工作。谢谢你。
delphi - 带有 ComPort 的 Delphi 7 中的串行端口不完全发送数据
TComPort
使用该组件时,我在 Delphi 中访问我的串行端口时遇到问题。它不能完全发送数据,但是一些数据会随机丢失,比如这个例子:
061:1268:-108:16596:-462:239:-75:0.000000:0.000000
061:
061:1240:-84:16616:-425:235:-54:0.000000:0。
061:1220:-96:16620:-418:224:-69:0.000000:0.000000:0.0055
061:1220:-72:16676:-420:246:-72:0.0
061:1100:-176:16688:- 460:224:-45:0.000000:0.000000:0.0056
061:1164:-144:16676:-442:23
061:1272:-136:16456:-413:219:-84:0.000000:0.000000
:096 :0.0056 06 :-152:16616
061:1096:-140:16656:-427:235:-88:0.000000:0.000000:0.0056
061:1200:-1
061:1192:-84:16664:-447:228:-60: 0.000000:0.000000:0.0055
061
061:1208:-116:16576:-421:233:-56:0.000000:0.000000
061:1208:-128:16584:-427:226:-94:0.000000:05:0.
061:1172:-264:16560:-436:257:-72:0.000000:
061:1196:-200:16724:-428:234:-78:0.000000:0.000000:0.0056
正确的数据应该包含 10 个值,如下所示:
061:1196:-200:16724:-428:234:-78:0.000000:0.000000:0.0056
请帮我解决这个问题。我是德尔福的初学者。
这是我的代码:
delphi - Delphi Comport 没有得到完整的数据
我有这个代码:
实际结果是:
然后变成了:
预期结果:
delphi - Delphi TComPort WriteAsync
我正在尝试通过 TComPort 组件异步发送字符串,但所有内容都是同步发送的。问题是应用程序将被阻止并等待传输结束。
我的代码: