3

私は Windows と OS X 用のシリアル ポート アクセス コードを書きましたが、OS X では DTR を低くしてポートを開く方法をまだ見つけていません。(私は Arduino のリセットを回避しようとしています。) 問題を示す C コードの最も単純なバージョンを次に示します。

const char *pathname = "/dev/tty.usbmodem411";
….
int main()
{ 
    int fd;
    int status;
    printf(" STARTING SERIAL PORT PROGRAM \n");
    fd = open(pathname, O_RDWR | O_NOCTTY | O_NDELAY); 
    if (fd != -1) printf(" port successfully opened, fd = %d\n",fd) ;
    else
    {
        printf(" could not open port\n");
        return;
    }
    printf("closing port and quitting app\n");
    if (fd !=-1) close(fd);
    return 0;
}

役立つ他の open() フラグは見つかりませんでした。ioctl() を介してポートを開いた後、DTR を低く設定することはできますが、Arduino が open() でリセットされるため、これは役に立ちません。

open() 中に DTR を低く保つ方法を知っている人はいますか? これは USB ドライバの機能でしょうか?

4

0 に答える 0