问题标签 [serial-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 投票
2 回答
1130 浏览

serial-port - Compact Framework 串口 开放功能

有没有办法判断串口是否打开成功?问题是如果串口没有打开,不会抛出异常,用户也无法知道问题出在哪里。

有输入吗?

0 投票
3 回答
1683 浏览

compact-framework - Compact Framework 串口和平衡

因此,要打开一个串口并通过串口成功传输来自天平的数据,我需要确保 serialPort 对象上的设置与天平的实际设置相匹配。

现在,问题是我如何检测到由于设置不同而没有建立连接?serialPort.Open 没有抛出异常,表明连接已经建立。是的,设置是有效的,但如果它们与设备(天平)设置不匹配;我对为什么没有捕捉到天平上的重量一无所知。

这里有什么输入吗?

0 投票
4 回答
9235 浏览

embedded - Getting Epson receipt printer to print from Arduino

I'm trying to build a microprinter using an Arduino and an Epson TM-T88II receipt/POS printer. The printer uses the Epson Esc/POS system, but I can't get it to do anything at all from the Arduino. I'm doing things like:

I just can't get the printer to respond at all. The printer powers up and prints its self test just fine. It's a serial (RS-232) printer, and I'm connecting it to the Arduino through a MAX233 chip. I've checked and rechecked my connections through the chip, which I think are right based on a friend who has a similar setup working. I read somewhere that the TM-T88 printers need null-modem serial cables, so I bought an adapter, and that didn't seem to make any difference.

I'm new to electronics, so I'm completely stumped. I just want to get it to print something, so I can get to the fun part - the programming :). Any thoughts on things to test/try? I can give more detail on wiring or anything else, just didn't want this to get TOO long.

0 投票
1 回答
3623 浏览

compact-framework - 紧凑框架中的串行端口 - RTSEnable 和 DtrEnable

如何RTSEnable使用DtrEnable?我发现有些天平可以与我的应用程序通信,但即使设置匹配,有些天平也不能。(波特率、奇偶校验、数据位、停止位和握手)

串行端口设置保存在配置文件中,其想法是在需要时支持可能设置的不同组合。通常,我们的设备被编程为有handshake = NONE,但如果一些奇怪的设备不能有handshake=NONE,我应该插入一个条件,例如:

或者更确切地说,其他握手(除了NONE)是否会在没有RTSEnableDtrEnable设置为 的情况下工作true

0 投票
1 回答
365 浏览

java - 是否有适用于 Vista 和 Freebsd 的 Javax.comm 第三方解决方案?

我需要在 Windows Vista 和 FreebSD 中使用 Java 访问串行端口,是否有任何第三方解决方案可以做到这一点?我知道 Sun 对此没有解决方案

0 投票
3 回答
8412 浏览

delphi - 在 Delphi 中枚举系统 Com 端口列表

目标:我希望能够在 Delphi 中列出系统上可用的 COM 端口。

作业: 我已经阅读了这个关于使用注册表枚举系统的 LPT 端口的 SO 线程。我还发现 COM 端口列在注册表中,但在同一线程HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM中发现未回答的手势,这在不同的机器和不同版本的 Windows 上可能不可靠。

我还找到了引用使用 QueryDosDevice() 的文章,但在尝试此示例代码时,我发现它似乎根本没有列出任何 COM 端口。

问题:列出 Windows 机器上的 COM 端口最可靠的方法是什么(跨越未知的 Windows 版本)?

0 投票
7 回答
4352 浏览

c# - 从 56k 调制解调器创建拨号音

好的,每个人都进入你的回程机器。我需要将电话拨入计算机的 56k 调制解调器。我需要我的电脑让调制解调器“打开”并有一个活跃的拨号音。原因如下:我有一个污水泵警报器,它会在泵出现故障时给我打电话。它仅适用于固定电话。我想停止为我的固定电话付费以省钱,而只拥有我的手机。我的想法是从我的 pc 的 56k v90 调制解调器上的水槽警报中拦截出站呼叫。然后我可以免费发短信、电子邮件等。

有人知道如何开始吗?我找到了很多关于如何从我的电脑拨打电话的资料,但我想要一部电话(设备)来拨打我的电脑。我认为除非听到拨号音,否则油底壳警报不会拨号。

我更喜欢 C# 或 vb6 程序,但愿意使用任何东西。我有一些使用串行通信设备的经验,所以我只需要指出正确的方向。

谢谢!!!

0 投票
8 回答
50134 浏览

php - 在 Windows 上使用 PHP 进行串行通信

我正在寻找一种与 Windows 上的 RS232 串行 COM 端口通信的方法。我在网上找到了两种解决方案,一种不是完全免费的(在功能上引入了故意延迟),另一种在 Windows 上功能有限。后者只能写入 Windows 上的 COM 端口,不能读取。

我看不到第一个解决方案的代码,因为它被编译成一个 .dll (有道理,否则人们只能编辑延迟而不是购买它......)而第二个似乎只使用 fopen()打开端口,然后 fwrite() 对其进行写入,就像对流所做的那样。但显然它没有返回任何东西。

我知道这是可能的,因为第一个解决方案是这样做的,尽管它确实需要 Apache 使用 php-cgi 模块而不是 php5module。

有任何想法吗?

0 投票
2 回答
3763 浏览

.net - System.IO.Ports.SerialPort - 可以配置 IOCTL_SERIAL_SET_WAIT_MASK 吗?

System.IO.Ports.SerialPorts我一直在尝试通过编写一个小型 Windows 窗体应用程序从旧的外部调制解调器收集调用方显示数据来了解 .Net (3.5) 如何通过类与串行端口交互。

我已经测试过调制解调器支持来电显示;使用 Putty 或 Hyperterminal,我可以配置调制解调器以收集来电显示数据(使用命令AT#CID=1,我在此处找到),当电话响起时,显示数据。在终端窗口中,它看起来像这样:

我的 C# 应用程序似乎成功配置了调制解调器,并RING 在电话响铃时显示一条消息;但是,它从不显示来电显示数据。

为了理解为什么会这样,我使用 Sysinternals Portmon比较了不同客户端所采取的操作。

主要区别在于连接配置;我的 C# 应用程序包含以下行,而 Putty 和 Hyperterminal 没有;

据我了解,IOCTL_SERIAL_SET_WAIT_MASK是要过滤的消息类型的包含列表。

所以,三个问题:

来电显示信息是否可能被 抑制IOCTL_SERIAL_SET_WAIT_MASK

如果是这样,我该如何配置它以显示来电显示信息?它似乎无法从类属性中访问。

如果我不能配置它,我唯一的选择是解决这个问题,将我自己的包装器编写到控制串行端口的低级系统功能?

我对串口通信的理解非常基础,所以我希望我的诊断还很遥远。感激地接受任何指导。

0 投票
5 回答
623 浏览

python - Web 环境中的文件访问权限提升

我有一种情况,我想提升我在 Web 环境中的权限,以便我可以访问串行设备。

具体情况是我有一个用于配置调制解调器的 Web 界面/dev/ttyUSB[0-9]

最终用户将插入零个或多个调制解调器。我正在编写一些软件,该软件能够通过/sys/devices使用一些 AT 命令读取和与调制解调器交谈来辨别哪个是 USB 无线调制解调器。

我希望能够打开设备并执行以下操作:

问题在于这样pyserial做:self.fd = os.open(self.portstr, os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK)打开 portstr 所在的串行端口,/dev/ttyUSB0但它nobody是以非特权用户身份进行的。

此系统上的串行端口归 root:uucp 所有,并设置为 0660(即rw-rw----)。

对于用户(例如nobody应该拥有尽可能少的权限)在 dev 中打开文件的用户来说,最好的方法是什么?

我会考虑的想法:

  • 使用sudo.
  • 更改文件的权限/dev/(感谢有关如何使用 udev 正确执行此操作的说明!)
  • 使用我没有考虑过的其他 API 或软件。