1

我正在编写一些代码,目的是读取 ECG 发送的值。ECG 通过串行连接发送其传感器读取的值,并且(作为开始)程序所要做的就是读取输入并将其显示在文本视图中。

但是我碰壁了,似乎无法解决以下两个问题:

我在尝试连接 ECG 时经常收到以下错误: Unable to open /dev/tty.usbserial.A700eLwM - : Resource busy。该端口未被任何其他应用程序使用,但 ECG 正在发送号码。我能否以某种方式告诉操作系统正在发生的任何事情以及正在使用该端口的人我想要完全控制该端口?

我的代码如下:

fd = open("/dev/tty.usbserial-A700eLwM", O_RDWR | O_NOCTTY | O_NDELAY);

[textView insertText:[NSString stringWithFormat:@"Port status: %f\n", fd]];

if (fd == -1)
{
    /*
     * Could not open the port.
     */

    perror("open_port: Unable to open /dev/tty.usbserial.A700eLwM - ");

}
    else {
    fcntl(fd, F_SETFL, 0);
}

我的第二个问题是我不太明白如何将读数缓冲到字符串或整数变量中并将其发送到文本视图。

任何帮助将不胜感激

提前致谢

4

1 回答 1

0

最可能的原因是您已在“网络偏好设置”中将串行端口激活为网络设备。如果它在那里列出,选择它并使用齿轮菜单项“标记为非活动”。

对于您的第二个问题,网站上有很多其他匹配的问题,请搜索它。

于 2012-01-09T11:36:06.800 回答