当前位置: 首页 > news >正文

Ubuntu安装配置串口通讯工具minicomcutecom

minicom


minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将讲解minicom的安装和配置。

安装minicom


使用以下命令:

sudo apt-get install minicom
  • 1
  • 1

安装minicom

ubuntu 现在做的真是没话说,相当的实用和智能啊,把相关的依赖包(lrzsz)都相互关联并且安装上去了。但是如果使用ubuntu 8.10以前的版本可能就要单独安装lrzsz软件包了(lrzsz包括了x/y/zmodem协议)。也就是说,在通过串口用xmodem协议烧写内核 时会提示没有xmodem协议,所以这时就要安装lrzsz软件包了:

 sudo apt-get install lrzsz
  • 1
  • 1

然后就可以正常地使用minicom通过串口烧写内核了。

配置minicom:


查看串口信息


在使用minicom之前,首先要保证你对串口有读/写的权限。我们知道,Linux的设备对应于/dev/目录中的某个文件,串口COM1对应ttyS0,COM2对应ttyS1,使用以下命令来查看你对COM1的权限:

ls -l /dev/ttyS0
  • 1
  • 1

ll /dev/ttyS0

可以看到,它的属主是root。

配置minicom


正如在Windows中要配置超级终端一样,在使用minicom之前,先要对串口进行配置。

sudo minicom -s
  • 1
  • 1

配置minicom
选择Serial port setup,此时所示光标在”Change which setting”上,键入”A”,此时光标移到第A项对应处:
串口COM1对应ttyS0,COM2对应ttyS1(注意选择)。

如果您使用的是笔记本,没有串口,那么您可能需要使用U转串设置,应该是ttyUSBS0
注意:如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0。

配置minicom

然 后对波特率,数据位和停止位进行配置,键入”E”,波特率选为115200 8N1(数据位8,奇偶校验无,停止位1),

硬/软件流控制分别键入”F”和”G”,并且都选No。

在确认配置正确之后,可键入回车返回上级配置界面,并 将其保存为默认配置(即save setup as dfl)。最后,选择”Exit from Minicom”命令退出。

配置minicom

然后重启minicom(即直接在shell下执行minicom命令就可以进入minicom的控制台)使刚才的配置生效,再连上开发板的串口线后,就可以在minicom中打印出正确的串口信息了。在控制台下通过组合键Ctrl+A Z可以进入minicom菜单。

使用minicom


组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。

1)S键:发送文件到目标系统中;
(2)W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用。
(3C键:清除屏幕的显示内容;
(4)B键:浏览minicom的历史显示;
(5)X键:退出mInicom,会提示确认退出。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

3、配置文件所在目录
Ctrl + A –> O
sudo minicom -s
选择”Filenames and paths”
Filenames and paths
(1)A - download 下载文件的存放位置(开发板 —> PC)
开发板上的文件将被传输到PC机上的/home/gatieme/WrokPlace/NfsRoot目录下。
(2)B - upload 从此处读取上传的文件(PC —> 开发板)
PC机向开发板发送文件,需要发送的文件在/home/gatieme/WrokPlace/NfsRoot目录下(PC机上的目录)。

做了此项配置后,每次向开发板发送文件时,只需输入文件名即可,无需输入文件所在目录的绝对路径。

安装cutecom


sudo apt-get install cutecom 
  • 1
  • 1

这里写图片描述

Linux下如何使用USB转串口设备


对没有串口的笔记本持有者来说,做硬件开发经常为没有串口而烦恼,不过现在有了USB转串口设备。但是新的问题又出现了,比如说对于Minicom下的PC机和目标机通信还是存在着一些配置问题,下面就说一下linux下USB转串口的具体配置和问题:

注意:默认情况下ubuntu已经安装了USB转串口驱动(pl2303或者cp210x的)。

lsmod | grep usbserial
  • 1
  • 1

lsmod | grep usbserial
如果有usbserial,说明系统支持USB转串口。
如果没有大家可以插上U转串设备,再试试,一般来说现在的Ubuntu或者其他linux发行版已经很智能了,是可以自识别并且加载驱动的
2、插上USB转串口,在终端输入命令

dmesg | grep ttyUSB0
  • 1
  • 1

dmesg | grep ttyUSB0
如果出现连接成功信息,则说明ubuntu系统已经识别该设备了。

注意:虚拟机环境下的ubuntu默认情况下是不能自动识别的,需要在虚拟机窗口右下角点击”Prolific USB-Serial Controller”,然后选择”Connect (Disconnect from Host)”,这样才能被ubuntu系统识别。

3、在上面minicom的配置中设置Serial Device: /dev/ttyUSB0,重启开发板,这样基本上就可以正常使用minicom来打印串口信息了。

4、问题
如果经过上面的步骤minicom还是不能正常工作,出现如下错误提示:

sudo minicom
  • 1
  • 1
minicom: cannot open /dev/ttyUSB0: 没有该文件或目录
  • 1
  • 1

这时可以尝试换一个USB口,然后再次操作以上流程。如果还是提示这个错误,那么可以使用下面的方法来解决。

这 种方法是在硬件里添加串口设备,将window下的设备添加到虚拟机里。也就是说,要在window获得焦点的时候加入usb转串口,然后再到虚拟机下将 这个设备添加进去,这时就可以在ubuntu下查看添加的这个设备的设备文件,一般是/dev/tty0或者 /dev/ttyS0。

手动加载U转串驱动的方法

下载内核源码

cd ~
sudo apt-get install build-essential linux-source
cp /usr/src/linux-source-3.13.0.tar.bz2 .
bunzip2 linux-source-3.13.0.tar.bz2 
tar xf linux-source-3.13.0.tar 
cd ~/linux-source-3.13.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

重新编译和安装U转串驱动

注意:
如果/lib/moudles/驱动目录下已经有编译好的驱动,请跳过此步骤

cd ~/linux-source-3.13.0
make oldconfig
make prepare
make scripts
cp /usr/src/linux-headers-3.13.0-34-genericpae/Module.symvers .
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/serial/cp210x.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/cp210x.ko.old
$ sudo cp drivers/usb/serial/cp210x.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/
  • 1
  • 2
  • 1
  • 2

加载驱动

sudo modprobe -r cp210x
sudo modprobe cp210x
  • 1
  • 2
  • 1
  • 2

检查驱动安装是否成功


ls /dev/ttyUSB0


转载:http://blog.csdn.net/gatieme/article/details/45310493

相关文章:

  • 关于前端复用的实践
  • 51nod 1043 幸运号码
  • 创业公司如何实施敏捷开发
  • As3 使用总结 【转】
  • JS及JQuery对Html内容编码,Html转义
  • 0520三级联动
  • 类的继承
  • 【译】Activitys, Threads和 内存泄露
  • Android 中文 API 文档 (45) —— AbsoluteLayout.LayoutParams
  • [Angularjs]ng-select和ng-options
  • eclipse实现JavaWeb应用增量打包
  • AngularJS之Filter(二)
  • nginx 负载服务器优化
  • 【SSH网上商城项目实战14】商城首页UI的设计
  • eclipse+python+selenium+mysqldb环境搭建
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 0基础学习移动端适配
  • docker python 配置
  • es6要点
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Python_网络编程
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • SpingCloudBus整合RabbitMQ
  • Vue全家桶实现一个Web App
  • Vue实战(四)登录/注册页的实现
  • 缓存与缓冲
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 智能网联汽车信息安全
  • 从如何停掉 Promise 链说起
  • 积累各种好的链接
  • ​决定德拉瓦州地区版图的关键历史事件
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #预处理和函数的对比以及条件编译
  • $refs 、$nextTic、动态组件、name的使用
  • (+4)2.2UML建模图
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (力扣)1314.矩阵区域和
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .NET 服务 ServiceController
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • @拔赤:Web前端开发十日谈
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [C#]扩展方法
  • [cb]UIGrid+UIStretch的自适应
  • [CERC2017]Cumulative Code
  • [CSDN首发]鱿鱼游戏的具体玩法详细介绍
  • [CUDA手搓]从零开始用C++ CUDA搭建一个卷积神经网络(LeNet),了解神经网络各个层背后算法原理
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引
  • [Json.net]快速入门
  • [one_demo_9]判断数组是否递增