2012-01-09 19 views
1

私は、目的がECGによって送信された値を読むことであるいくつかのコードを書いています。 ECGは、シリアル接続を介してセンサーによって読み取られた値を送信します(開始時にはすべてのプログラムが入力を読み取ってテキストビューで表示する必要があります)。目的のシリアル通信エラー-C:リソースビジー

私は次のエラー私はECGと接続しようと多くの時間を得る:は/ devを/開くことができません、私は壁を直撃していると、次の2つの問題を解決するように見えることはできませんしかし

tty.usbserial.A700eLwM - :リソースビジー。 ポートは他のアプリケーションでは使用されていませんが、ECGが番号を送信しています。 何が起きていても、そのポートを使用している人は、ポートを完全に制御したいとOSに何らかの形で伝えることはできますか?次のように

私のコードは次のとおりです。

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

おかげで、最も可能性が高い理由は、ネットワーク環境におけるネットワークデバイスとしてシリアルポートを有効にしてきたということです。そこにリストされている場合は、それを選択し、歯車メニュー項目「無効としてマークする」を使用します。

あなたの2番目の問題として、サイトには他にも多くのマッチング質問があり、それを探してください。

+0

ありがとうございました。私はそれを試してみましょう。 – Zahrec