Armadilloフォーラム

/dev/ttymxc1が受信したデータをエコーバック

morimayu

2018年3月9日 16時20分

お世話になっております。森と申します。

現在、/dev/ttymxc1をOpenして通信するドライバ(ローダブルモジュール)を作成しております。
writeするコードは入れてないのですが、
外部機器よりデータを受信すると、受信したデータのエコーバックが出力されています。

エコーバック出力を抑止したく、
termiosのc_lflag には、以下の内容をセットしてみましたが状況が変わりません。
c_lflag &= ~(ICANON | ECHOE);

どのような条件で、エコーバックが出力されてしまうのでしょうか?
エコーバック抑止方法をご教授いただけますでしょうか。

以上、よろしくお願いいたします。

コメント

at_mizo

2018年3月9日 16時27分

溝渕です。

> 現在、/dev/ttymxc1をOpenして通信するドライバ(ローダブルモジュール)を作成しております。
> writeするコードは入れてないのですが、
> 外部機器よりデータを受信すると、受信したデータのエコーバックが出力されています。
>
> エコーバック出力を抑止したく、
> termiosのc_lflag には、以下の内容をセットしてみましたが状況が変わりません。
> c_lflag &= ~(ICANON | ECHOE);

c_lflag &= ~ECHO;

のようにするとどうなるでしょうか。manページには次のように記載されていました。

[atde]$ man termios
:(省略)
c_lflag フラグは以下の通り:
:(省略)
ECHO 入力された文字をエコーする。

morimayu

2018年3月9日 23時33分

森です。

ECHOEとECHOの単純な勘違いでした。
ご教授いただきましたとおりに指定したところ、
エコーバックを抑止することができました。

ありがとうございました。