问题标签 [com-port]

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.

0 投票
1 回答
25 浏览

php - Windows USB 串行 CMD 调用使用“mode com3: BAUD=38400... 而不是 PHP 调用

我之前问过一个关于当 Win10 升级到 Win 11 时 PHP 调用不再工作的问题。它现在奇怪地写入文件而不是设置的 COM 端口(可能是 win11 apache/php 问题,请参阅我的其他问题?) .

曾经工作的代码是:

这曾经可以正常工作,但现在写入一个名为 com3 的文件 :(
仅供参考:PHP 中的 ` 反引号会执行其中的命令 - 这仍然适用于 Win11。

  • 问题是如何直接从控制台/CMD 提示符执行此操作。这已经有效,例如:

并且显然可以使用以下命令发送命令:

但我不想发送“你好”,而是想发送与使用 PHP 代码相同的内容:“chr(1).chr(255).chr(1).chr(4).chr(64).chr(5 ))”

任何人都知道如何从 CMD 发送此代码。因为我将制作另一个脚本来自动执行此操作。

任何建议表示赞赏?

即在php中我会做类似的事情:

如果有人知道我将如何更改此 PHP 脚本以便能够发送这些数字值,请欣赏?(它可能已经很好了;)

仅供参考:在 232 分析仪或一些 USB 串行 COM 端口软件上 - 我会在“DEC”中发送代码,带有“1,255,1,4,64,5”,这也有效......如果有助于设置什么值发送 CMD 提示符。

谢谢您的帮助。

0 投票
1 回答
18 浏览

com-port - FREEBASIC Open COMn:问题或限制

尝试使用 FreeBasic 从 COMn: 端口读取数据。该设备是带有 ARM 控制器的触摸屏,可通过 FTDI 芯片在 9600、N、8、1 处打入串行数据,以将 USB 连接到 PC。我用于测试的这块主板在 BIOS 上有本机 COM1,由于某种原因,Windows 阻止了 COM2、3、4、5、6、8、9、10... 将此设备连接到主板后,它会枚举 USB 并分配 COM7 : 在设备管理器上。Putty程序在触摸屏上中断红外矩阵时可以很好的读取为COM7,输入数据显示为AxxxyyyZ,其中xxx和yyy分别为坐标1~600和1~800,中断时Z为“B”,“N”抬起时和拖动时的“C”,最初的“A”只是同步。

很容易在 FreeBasic 中编写代码来绘制触摸处的圆圈和拖动时的线条,对吧?是的,除了 FreeBasic 无法读取 COM7:在这个世界上一无所有。它打开,OPEN "COM7:N,8,1" as 1没有错误,但无法从 Windows 读取数据。

我怀疑 FreeBasic 的 COMn 存在一些问题:当“n”高于某个值时。所以我真的在设备管理器上销毁了 COM2,在几次重新启动后,我可以在设备管理器上看到 COM2 空闲,并将 2 分配给这个 FTDI 连接,瞧,工作正常。

它可能是别的东西,我不知道,但作为 COM2 它可以工作。我在 FreeBasic 文献中找不到关于 COMn 值的一些限制...有人知道吗?

0 投票
1 回答
30 浏览

c - C:Windows 没有找到 HARDWARE\DEVICEMAP\SERIALCOMM,即使可以使用 regedit 找到它

我想列出 COM 端口(就像在“设备管理器”中看到的那样),但在运行时。

我无耻地从这个网站复制了代码(代码显示在帖子末尾),我想我明白了。但是,程序在第 36 行失败,给了我错误:

如果我打开注册表编辑器,我会清楚地看到该文件夹​​,当我单击它时,我会看到我已连接到我的计算机的设备。

我已经使用 MinGW 和命令编译了代码gcc filename.c

有想法该怎么解决这个吗?可能是权限问题?是否有一些 gcc 需要我能够使用的编译器标志?


我正在运行的代码是这样的:


编辑

我现在RegOpenKeyEx用调用_T("HARDWARE\\DEVICEMAP\\SERIALCOMM"),并且在第 81 行对 RegEnumValueW 的调用中,我szDeviceName转换为LPWSTR. gcc 不再给出任何错误或警告。但是,在运行程序时,出来的只是

而且我连接的端口(COM3)没有显示出来。

还有什么建议吗?

0 投票
0 回答
26 浏览

vba - VBA缓冲区没有被COM端口的异步(重叠)Kernel32.dll ReadFile填充数据,但同步工作

我想知道是否有人可能对我在重叠模式下使用 kernel32.dll ReadFile 函数从串行 COM 端口异步读取 VBA 时遇到的问题有所了解?

基本上,一切正常,除了只有一个 COM 端口,传递给 ReadFile 的数据缓冲区永远不会被数据填充,但 GetOverlappedResults 确实表明已读取正确数量的字符并且异步(重叠)操作已成功完成。

奇怪的是它与 COM 端口同步工作,它与文件异步工作(而不是 COM 端口),如果在调用 ReadFile 之前 COM 端口数据可用(在这种情况下它同步完成),它会异步工作。

为了测试我没有误解它应该如何工作,我用古老的 C 语言编写了相同的代码,它运行良好。数据缓冲区按预期填充,而在 VBA 代码中,数据缓冲区没有按应有的方式填充接收到的数据。

很多天以来,我以多种方式研究了这个问题,但不知道下一步该做什么才能取得进展。

这是我简单的 VBA 代码,提炼为演示问题的基础知识:

感觉就像 VBA 将缓冲区视为非易失性,因此 VBA 不知道缓冲区可以自发更改。

如果有人想看,我可以发布类似的 C 代码。

谢谢你的帮助。

D

0 投票
0 回答
26 浏览

c# - C# winforms,com 端口输入触发器打开新表单/用户控件或 UI 更新

我的目标是读取 NFC,它会触发数据库中的数据检查。不同的响应应显示不同的表单/面板(尚未实施)。我尝试过使面板可见/不可见,显示新表单和新用户控件。

除了更新 UI 外,一切正常。我已将 MessageBox 放在 dataBaseGetData 中,它也可以工作。

公共部分类Form1:Form {

0 投票
1 回答
26 浏览

python - 如何在 Python/PySerial 中运行 PuTTY 串行命令

我正在尝试通过串行 COM 端口与探头通信。制造商在 PuTTY ec 中发出一些命令。更改测量单位或读取一些值。我在 python 中编写代码,但我什么也没收到,或者我不知道我收到了什么。这是 PuTTY 配置

1

2

3

接下来是制造商为 PuTTY 提供的命令示例。

4

这是 PuTTY 终端中的代码:

5

我在 Python 中的代码:

这是我收到的: