目录
查看usb串口号
最近买了一条绿联的usb转串口线(pl2303),在win10里能直接用,但在Ubuntu里发现找不到串口。。。
一般来说ubuntu都装有pl2303等常见USB转串口驱动,特别是340、341这些,但是也容易出现插上usb转串口线后找不到串口的情况如:
查看usb串口号
python -m serial.tools.list_ports
【出现上图如果不是USB转串口的线坏了,就很有可能是因为串口驱动的事】
(判断是否是USB转串口的线坏了的方法:可以插在win系统下,一般情况下设备管理器里会识别到)
下载pl2303 USB转串口驱动
我已经发在博客上了,免积分下载喔(希望三连哈~)
download.csdn.net/download/xx…
安装步骤
1.解压:进入下载/PL2303GT驱动/Linux/PL2303G_Linux_Driver_v1.0.4/
2.查看电脑内核版本
uname -r
(我的是5.4.0的哈,不过这好像跟文件夹里的“5.2_ok”没有太大关系,不过自己编译时很容易出现没有对应内核头文件的错,但是与自己最后驱动路径有关系)
3.安装驱动
进入比如“5.2_ok”文件夹打开终端运行
make all
sudo rmmod pl2303.ko
sudo insmod pl2303.ko
sudo cp pl2303.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial
(完全按照“readme.txt”时最后一句得把“uname r”改为“uname -r”)
4.拷贝pl2303.ko文件
sudo cp /lib/modules/5.4.0-70-generic/kernel/drivers/usb/serial/pl2303.ko /usr/src/linux-headers-5.4.0-70-generic/drivers/usb/serial
(注意把“5.4.0-70-generic”改为自己对应的内核版本名)
然后执行:
sudo modprobe usbserial
sudo modprobe pl2303
查看效果
此时应该是能识别到串口了
输入:dmesg | tail
发现多了一个:pl2303
输入: python -m serial.tools.list_ports
也能看见多了一个USB串口号:/dev/ttyUSB0
给串口权限
有时插上串口, 通过“python -m serial.tools.list_ports”指令能看见串口号,但是通过程序(ros或qt的串口类)运行时发现打不开串口
这种情况多是因为串口权限的问题
解决方法1
给单个串口权限
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!