如何打开 USB CDC“串行”并对其进行写入/读取Windows、Linux、OS X 上的设备?

发布于 2024-09-24 01:58:55 字数 333 浏览 6 评论 0 原文

我有一个 Atmel AVR A90USBxxxx 设备,已将其配置为通过 CDC“与 USB 对话”。它的设计目的是从运行 Windows、Linux 或 OS X 的主机获取输入。

我的印象是 Linux 和 OS X 会立即识别这个 CDC 设备,并且通过一个简单的 .inf 可以告诉 Windows 计算机我的设备。应使用 usbser.sys 将 VID/PID 作为 CDC 设备打开。

我的问题是,一旦操作系统将这个 USB 设备作为串行设备打开,我如何以编程方式读取和写入该端口(对于列出的 3 个操作系统中的每一个,但 Windows 需要最详细的信息,因为我在那里完全不熟悉)

谢谢

I've got an Atmel AVR A90USBxxxx device that I have configured to "talk USB" via CDC. It's designed to take input from a Host computer, running Windows, Linux, or OS X.

I'm under the impression that Linux and OS X will immediately recognize this CDC device, and with a simple .inf a Windows machine can be told my VID/PID should be opened as a CDC device using usbser.sys.

My question is once the OS has opened this USB device as a serial device, how can I programmatically read and write to that port (for each of the 3 OS's listed but most detail is needed for Windows as I'm completely unfamiliar there)

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妄想挽回 2024-10-01 01:58:56

答案实际上取决于您打算使用哪种编程语言。在不知道您打算使用哪种语言的情况下,我无法确切地告诉您如何操作,但我可以为您指出正确的方向。

对于原型设计,我建议使用 PythonPySerial 模块。设置并快速编写功能原型非常容易。 Python 将在 Windows、Linux 和 OS X 上运行。这样您只需编写一次串行通信代码,就可以在所有平台上进行测试。

PySerial 文档 包含一些有关如何读取和写入端口的示例。

如果 Python 在生产中不适合您,我仍然建议您坚持使用具有跨平台串行端口库的编程语言(如果可能)。

这是一个关于 C 的跨平台串行端口库的问题: C:跨平台RS-232串行库?

The answer really depends on what programming language you intend to use. Without knowing what language you intend to use, I can't tell you exactly how to do it, but I can point you in the right direction.

For prototyping, I recommend using Python with the PySerial module. It's very easy to set up and quickly write a functional prototype. Python will run on Windows, Linux, and OS X. That way you only need to write the serial communication code once and you can test on all of your platforms.

The PySerial documentation contains some examples for how to read and write to the port.

If Python doesn't work for you in production, I would still recommend sticking with a programming language that has a cross-platform serial port library if possible.

Here's a question that was asked already about a cross-platform serial port library for C: C: cross-platform RS-232 serial library?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文