2012-01-09 17 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

相關問題