LINUX 监听串口插入和拔掉
时间: 2023-08-04 08:08:19 浏览: 146
要在Linux系统中监听串口插入和拔掉,可以使用`udev`工具来实现。具体步骤如下:
1. 创建一个`udev`规则文件 `/etc/udev/rules.d/99-serial-ports.rules`,并添加以下内容:
```
KERNEL=="ttyACM[0-9]*", ACTION=="add", SYMLINK+="serial_port", RUN+="/usr/local/bin/serial_port_added.sh"
KERNEL=="ttyACM[0-9]*", ACTION=="remove", RUN+="/usr/local/bin/serial_port_removed.sh"
```
其中,`KERNEL=="ttyACM[0-9]*"`表示匹配串口设备名为`ttyACM`后面跟着一个或多个数字的设备。`ACTION=="add"`表示设备插入时触发规则,`ACTION=="remove"`表示设备拔出时触发规则。`SYMLINK+="serial_port"`表示将匹配到的设备名创建一个软链接到`/dev/serial_port`。`RUN+="/usr/local/bin/serial_port_added.sh"`表示设备插入时执行`/usr/local/bin/serial_port_added.sh`脚本,`RUN+="/usr/local/bin/serial_port_removed.sh"`表示设备拔出时执行`/usr/local/bin/serial_port_removed.sh`脚本。
2. 创建`serial_port_added.sh`脚本,内容如下:
```
#!/bin/bash
echo "Serial port added"
```
该脚本在串口设备插入时会输出`Serial port added`信息。
3. 创建`serial_port_removed.sh`脚本,内容如下:
```
#!/bin/bash
echo "Serial port removed"
```
该脚本在串口设备拔出时会输出`Serial port removed`信息。
4. 重载`udev`规则,执行命令:
```
sudo udevadm control --reload-rules
```
5. 重新插入串口设备,观察终端中的输出信息,即可验证串口插入和拔出的监听是否生效。
注意:以上步骤中的脚本路径和名称可以根据实际情况进行修改。
阅读全文