1

私は、ECGによって送信された値を読み取ることを目的としたコードを書いています。ECGは、センサーによって読み取られた値をシリアル接続を介して送信し、(開始として)プログラムが実行する必要があるのは、入力を読み取ってテキストビューに表示することだけです。

しかし、私は壁にぶつかり、次の2つの問題を解決できないようです。

ECGに接続しようとすると、次のエラーが頻繁に発生します。/dev/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);
}

2番目の問題は、読み取り値を文字列または整数変数にバッファリングしてテキストビューに送信する方法がよくわからないことです。

どんな助けでもありがたいです

前もって感謝します

4

1 に答える 1

0

最も可能性の高い理由は、ネットワーク設定でシリアルポートをネットワークデバイスとしてアクティブ化したことです。そこにリストされている場合は、それを選択し、歯車のメニュー項目「非アクティブとしてマーク」を使用します。

2番目の問題については、サイトに一致する質問が他にもたくさんあります。検索してください。

于 2012-01-09T11:36:06.800 に答える