我有一台 Atmel AVR A90USBxxxx 设备,我已将其配置为通过 CDC“与 USB 通话”。它旨在从运行 Windows、Linux 或 OS X 的主机获取输入。
我的印象是 Linux 和 OS X 会立即识别这个 CDC 设备,并且使用一个简单的 .inf 可以告诉 Windows 机器我的 VID/PID 应该使用 usbser.sys 作为 CDC 设备打开。
我的问题是,一旦操作系统将此 USB 设备作为串行设备打开,我如何以编程方式读取和写入该端口(对于列出的 3 个操作系统中的每一个,但 Windows 需要最详细的信息,因为我完全不熟悉那里)
谢谢
最佳答案
答案实际上取决于您打算使用哪种编程语言。在不知道您打算使用哪种语言的情况下,我无法告诉您确切的操作方法,但我可以为您指明正确的方向。
对于原型(prototype)制作,我建议使用 Python与 PySerial模块。设置和快速编写功能原型(prototype)非常容易。 Python 将在 Windows、Linux 和 OS X 上运行。这样您只需编写一次串行通信代码,就可以在所有平台上进行测试。
PySerial documentation包含一些有关如何读取和写入端口的示例。
如果 Python 在生产环境中不适合您,我仍然建议尽可能使用具有跨平台串口库的编程语言。
这里有一个关于 C 的跨平台串口库的问题:C: cross-platform RS-232 serial library?
关于windows - 如何在 Windows、Linux、OS X 上打开和写入/读取 USB CDC "serial"设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737628/