RS232 シリアル デバイスは、 Linux では/dev/ttyS * またはttymxc *として認識されます。
1. シリアルポートの概要
シリアル ポートを操作するには、通常、次のコマンドを使用します。
1. シリアル ポートのボー レートとその他の情報を確認します。
stty -F /dev/ttyS0 -a #ttyS0为要查看的串口
2. シリアル ポートのパラメータを設定します。
stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8
このコマンドは、シリアル ポート 1 (/dev/ttyS0) を 115200 ボー レート、8 ビット データ モードに設定します。
通常、これら 2 つのパラメータを設定するだけで十分です。データが文字化けする場合は、他のパラメータの設定が必要になる場合があります。stty のその他の設定オプションを表示するには、man を使用します。
1、显示某个串口参数信息:stty -F /dev/ttySTM6 -a
2、设置某个串口参数信息:
2.1 7位数据位,无校验,1位停止位,无回显
stty -F /dev/ttySTM6 speed 115200 cs7 -parenb -cstopb -echo
2.2 串口ttySTM6 波特率为115200,8位数据位,1位停止位,偶数校验位
stty -F /dev/ttyS0 speed 115200 cs8 -cstopb parenb -parodd
3、串口发送数据:echo "1234456" > /dev/ttySTM6
4、显示串口接收数据:cat /dev/ttySTM6 &(后台)
5、stty命令功能参数
5.1 校验位
parenb:使终端进行奇偶校验,-parenb则是禁止校验;
-parodd 偶数校验
parodd 奇数校验
5.2 数据位
cs5、cs6、cs7和cs8分别将字符大小设为5、6、7和8比特;
5.3 波特率
speed 波特率:设置波特率
5.4 停止位
cstopb和-cstopb分别设置两个或一个停止位;
3. シリアル ポートで受信したデータを表示します。
cat /dev/ttyS0
4. シリアル ポートで受信したデータを 16 進数で表示します。
hexdump -C /dev/ttyO1
5. データをシリアル ポートに送信します。
echo "111111" > /dev/ttyS0
2. シリアルポートテスト
テストには、virtualbox 仮想マシンと仮想シリアル ポート ツール VPSD (仮想シリアル ポート ドライバーの構成) を使用できます。参考
: https://blog.csdn.net/zxw1473474655/article/details/126102955
1. まず VPSD を使用して 2 つのシリアル ポートを仮想化します
2. 仮想マシンはシリアル ポートも構成します
パスのシリアル ポート名は Windows 上のものと同じにする必要があり、構成後に仮想マシンを開きます。
3. コンピュータに独自のシリアル ポートがあるかどうかを確認するには、次のコマンドを使用します。
sudo cat /proc/tty/driver/serial
tx のオプション、rx は実際のシリアル ポート、0 は ttyS0 に対応し、一般に ttyS0 はウィンドウの下の COM1 に対応します。実際のシリアル ポートに応じて、ttyS0 または ttyS1 を使用してテストします。
4. Windows のシリアル ポート ツールと Linux でのシリアル ポート通信を使用します。
Linux での ttyS0 のデフォルトのボーレートは 9600 で、Windows の COM1 に対応します。
VPSD によって仮想化されたシリアル ポート com1 と com2 が接続されています。つまり、データは com1 に送信され、com2 は受信します。
Linux で ttyS0 シリアル ポートを開き、データを待ちます
cat /dev/ttyS0
勝利時にデータを送信する
シリアルポートはLinux環境でデータを受信します
Linux で ttyS0 を構成する
#串口ttySTM6 波特率为9600,8位数据位,1位停止位,无校验位
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb
ttyS0 を使用してデータを送信する
echo "888888" > /dev/ttyS0
Windows のシリアル ポートがデータを受信します
hexdump を使用して、hexdump の具体的な使用方法を表示することもできます。