2012-01-09 19 views
1

我在写一些代码,其目的是读取由ECG发送的值。 ECG通过串行连接发送由其传感器读取的值,并且(作为开始),所有程序所要做的就是读取输入并将其显示在文本视图中。Objective-C中的串行通信错误:资源繁忙

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

我碰到下面的错误很多次,我尝试与ECG连接的:无法打开/ dev/tty.usbserial.A700eLwM - :资源繁忙。 该端口未被任何其他应用程序使用,但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); 
} 

我的第二个问题是,我不太明白,我怎么可以缓冲读入一个字符串或整型变量,并将其发送给文本视图。

任何帮助将不胜感激提前

回答

0

由于最可能的原因是你已经激活了串口作为在网络偏好设置的网络设备。如果它在那里列出,选择它并使用齿轮菜单项“标记为不活动”。

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

+0

谢谢。我会试一试。 – Zahrec 2012-01-09 12:32:10

相关问题