ubuntu16.04使用USB转TTL(ch340)串口转usb调试过程

输入命令: lsmod | grep usbserial
输入:lsusb
发现了ch341的一些相关信息
输入命令(查看USB转串口接入状态):dmesg
usb 6-1: ch341-uart converter now attached to ttyUSB0
ID信息与lsusb检测到的一致,ch341-uart converter now attached to ttyUSB0 成功驱动,端口为ttyUSB0。
再此,确实能看到自带了驱动,但不要高兴。接着往下来

第二步:安装串口终端软件,搜到了一个minicom:
sudo apt-get update
sudo apt-get install minicom
sudo minicom -s 设置minicom的端口对应到ttyUSB0(对应使用dmesg命令看到的信息)。
选择“Serial port setup”,出现串口配置菜单:

输入A,修改serial device 由/Dev/tty0修改为/dev/ttyusb0,波特率按实际硬件参数情况修改,我的修改为115200 8N1,也有19200 8N1的硬件等。
然后返回

选择 Save setup as dfl
接着选择Exit退出。
可以再进一次sudo minicom -s,看看参数是否保存好。

1.首先去官网下载最新的驱动,参见某高人的博客:CH340各平台下驱动
http://www.wch.cn/download/CH341SER_LINUX_ZIP.html
2.下载下来linux版本的驱动
将其拷贝到Linux系统中,在使用之前首先需要将老驱动删除掉,这样才能防止即使安装了新驱动老驱动仍然生效。系统的默认驱动目录为:/lib/modules/$(uname -r)/kernel/drivers,老驱动的完整路径名:/lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko,我们进入到该目录下,然后将其删除掉,如下所示:

root@ubuntu:/#unzip CH341SER_LINUX.ZIP
root@ubuntu:/#cd CH341SER_LINUX
root@ubuntu:/#make
root@ubuntu:/#make load

需要进行如下解决:
1、需要使用gedit编辑器,wait_queue_t 没有被使用过,查找wait_queue_t(/wait_queue_t 定向找到它,只有一行),所以直接在源码中注释掉即可。
2、引入头文件#include
然后问题就解决了,可以直接编译 使用make 然后make load,加载到系统驱动中。

开机自动启动

Linux系统的驱动默认存放目录为: /lib/modules/$(uname -r)/kernel/drivers,因此如果希望系统可以启动时自动加载驱动必须首先把驱动放到该目录下面,执行完此步操作以后,再执行 depmod 命令更新驱动依赖关系文件 modules.dep,这一步一定要执行。之后我们重启系统,就可以发现驱动会自动加载了。

这里我以 ch341.ko 文件为例,进行实验,具体执行步骤如下:

root@ubuntu:/#cp ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial
root@ubuntu:/#depmod

执行完,重启就可以了。

你可能感兴趣的:(ROS)