Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos MAC OS X上的CDC驱动程序-设备总是忙_Macos_Driver_Cdc - Fatal编程技术网

Macos MAC OS X上的CDC驱动程序-设备总是忙

Macos MAC OS X上的CDC驱动程序-设备总是忙,macos,driver,cdc,Macos,Driver,Cdc,我正在编写一个应用程序,通过Win7、WinXP、MAC OS X和Linux(命令行)上的USB虚拟COM端口控制调制解调器,并使用飞思卡尔Kinetis K40 MCU作为USB到串行转换器(也称为虚拟COM端口)。内部固件使用CDC Class 02声明 我可以在Win7 64位PC上使用CDC类成功运行虚拟COM端口。存在一些与缓冲区相关的小通信问题,但我认为它基本上正常工作。我将TX和RX连接到MCU的内部UART和所有工作 当我尝试在MAC OS X上使用虚拟COM端口时,会出现问题

我正在编写一个应用程序,通过Win7、WinXP、MAC OS X和Linux(命令行)上的USB虚拟COM端口控制调制解调器,并使用飞思卡尔Kinetis K40 MCU作为USB到串行转换器(也称为虚拟COM端口)。内部固件使用CDC Class 02声明

我可以在Win7 64位PC上使用CDC类成功运行虚拟COM端口。存在一些与缓冲区相关的小通信问题,但我认为它基本上正常工作。我将TX和RX连接到MCU的内部UART和所有工作

当我尝试在MAC OS X上使用虚拟COM端口时,会出现问题。当我尝试发送/接收任何字节时,该设备会被识别为“tty.usbmodemxxx”。ZTerm(用于测试)会返回USB端口忙/不可用。我使用了自己的工具,FileDescriptor总是返回-1,因此无法访问它

然后,我尝试使用“cat/dev/tty.usbmodemxxx”和“screen/dev/tty.usbmodemxxx”从终端访问设备,这两个命令都使我返回了资源繁忙状态

如果我使用一个FTDI USB到串行转换器,它可以很好地工作ZTerm和我自己的应用程序

再次确认tty.usbmodem设备,但端口总是忙/不可用,而在我的原型板上独立运行的相同代码在Win7上工作

我在网上搜索了更多的内容,很多用户在MAC OS X上的CDC驱动程序上都有问题,但是他们中的大多数人都声称他们的设备没有连接,而我的设备“资源繁忙”

我尝试在7级使用MACOSX日志中的USB Prober,但一秒钟内会有大量警报,因此即使我进行过滤,也很难区分地雷

描述符似乎是正确的,因为有两个设备创建了CDC和CDC数据,但设备一直很忙,每隔2/3秒就有一个来自操作系统的handleOpen,在我看来就像是在我的设备上进行轮询,我的FTDI芯片也有同样的行为,所以它不可能是它

我怀疑MCU内的固件可能正在向操作系统返回忙碌状态,但情况似乎并非如此,因为在Win7上,CDC驱动程序都可以正常工作。

任何人最终都知道如何理解设备忙的原因,比如我的设备返回错误状态,或者可能是执事控制了我的设备而没有释放它**

任何帮助都将不胜感激

问候