3

Ubuntu でシリアル ポート名を見つけるのに問題があります。ご存知のように、Windows でシリアル ポートを読み取るには、たとえば次のコードを使用できます。

serial->setPortName("com3");

しかし、Ubuntu でこのコードをコンパイルすると、このコードを使用できません。

serial->setPortName("/dev/ttyACM0");

シリアル ポート名が ttyACM0 であることはわかっており、次のコマンドを発行してデータを読み取ることができます。

cat /dev/ttyACM0

しかし、なぜこの名前をコードで使用できないのでしょうか? 私は何をすべきか?

4

2 に答える 2

3

通常のユーザーの許可を得るには、システム管理者を、USB 経由でエミュレートされたようなシリアル ポートを担当するグループに追加してください。

tty、またはuucp何かです。ディストリビューションごとに異なりますが、次のコマンドを実行することで簡単に確認できます。

ls -l /dev/ttyACM0

次に、グループ列を確認し、sysadmin に次のように依頼します。

sudo usermod -a -G group username

次のように、グローバルな書き込みアクセス権を他のユーザーに与えることで、セキュリティの脆弱性を持ち込まないでください。

sudo chmod 666 /dev/ttyACM0
于 2014-12-29T08:23:41.573 に答える
1

使用する:

serial->setPortName("ttyACM0");
于 2014-10-11T14:40:23.870 に答える