windos有串口调试助手,linux下也有这样的工具——minicom。不过,minicom和linux下的许多工具都一样,也是命令行模式,没有图形化界面供我们享受。作为一款串口调试工具,虽然难看但总比没有的好。

为什么linux下的工具都这么的简朴,没什么华丽的界面,好像回到了解放前。一种可能的原因是linux这种非商业性质的软件,都是有自由软件爱好者通过其业余时间创作的,没有时间搞用户体验度调查,也没有精力搞优美的图形界面。而且,linux是一种面向专业用户的系统,而非windows那种傻瓜式系统,工具软件实现功能就行了,没必要太过华丽。甚至,我认为简陋的工具软件可以让程序开发人员更能深刻领会软件的机理,而完美包装的软件却屏蔽了技术的细节,很难提高自我。所以,忍受linux下的痛苦软件,才能获得开心知识。

回到正题,下面来一步一步实现minicom的安装。首先声明本文涉及的平台,(虚拟机 VMware 6.5 ) || (linux Ubuntu12.0.4) || (usb转串口),相信广大开发者很大一部分用的都是笔记本,自然选择的也是USB转串口。

安装minicom

一条命令就搞定了minicom的安装

#sudo apt-get install minicom  

在linux下实现串口通信

有两者方法可以实现串口通信,依次展开。

方法1--以硬串口挂载到linux系统中

1、查看主机usb转串口的串口号

我这里是COM1

2、为虚拟机Ubuntu添加一个硬串口

这里选择和物理主机一样的虚拟串口COM1

配置完成后的效果

启动虚拟机后,可以通过VM -> Removable Devices 查看当前主机什么可移动硬件连接在虚拟机上。方式一,必须保证Serial port(Using port COM1)连接在虚拟机上,而Prolific USB-Serial Controller与虚拟机是断开的。

需要说明的是,前边打钩的代表是连在虚拟机上的,没打勾代表连在主机上。一个硬件或者连接在主机上,或者连接在虚拟机上,只能挂载在一个操作系统下。当一个硬件需要连接到虚拟机操作系统上,比如说U盘挂载到Ubuntu上,发生的动作时:先从主机上卸载,然后挂载到Ubutu上。

从下边的图,也可以查看虚拟机当前拥有的硬件有哪些。色彩比较重的代表连接在虚拟机上,相反则连接在主机上。

3、配置minicom

#minicom -s

在终端下输入minicom的配置命令,就可以打开配置菜单,选择第三项串口配置(Serial port setup )

这里重要的是以下几个选项:

A               设置使用哪个串口设备(因为一台电脑上的串口可能不止一个),注意这里输入的是ttyS0

E               设置波特率、数据位、奇偶校验位、停止位,这里依次是115200,8,N,1

F               这个选项的含义,在下不知,但是网上众多人都说此项必须选成no,否则可能不能通信

对于方法一的A选项(设置使用哪个串口设备),可以从/dev目录中看我们用的是哪个设备

配置完成后,将其保存成默认配置(Save setup as dfl),然后退出(Exit from Minicom),终端下输入#minicom命令以打开minicom软件。

展示效果图

方法2--以U转串方式挂载到linux系统中

1、检查是否支持这种方法

首先看自己的Ubuntu 版本是否自带了U转串驱动,倘若没有,这种方法对你的系统还不适用。执行命令#lsmod | grep usbserial,如果能打印出上边的信息,证明此版本的Ubuntu操作系统自带有U转串驱动(U转

串芯片是PL2303)。

2、配置虚拟机

对于方法二,没必要添加串口,如下所示的硬件构成(默认配置)已经够了

启动虚拟机,确保以下硬件连接方式,Prolific USB-Serial Controller是连接在虚拟上的。倘若你的虚拟机上边添加了一个串口,那么确保这个串口不要启动,即前边没有打钩。

对应的在虚拟机的右下角,可以看到Prolific USB-Serial Controller图标是高亮的,而Serial port(Using port COM1)是浅色的(倘若你的虚拟机上添加有串口)。

3、配置minicom

在终端上输入#minicom -s命令,选择Serial port setup,打开如下配置界面。这里的E、F选项与方法一一样,需要注意的是:A选项输入的是ttyUSB0。倘若不是这个配置,有可能不能成功通信。

以默认配置方式保存,然后退出。输入#minicom命令,启动软件。效果图如下。

两种方法对比--ttyUSB0对应的是什么

倘若拔掉U转串,或者Prolific USB-Serial Controller与虚拟机断开连接,在Ubuntu的/dev目录中是没有ttyUSB0的。

而且,输入命令#lsusb也是看不到U转串对应的信息。

倘若插上U转串,并且确保Prolific USB-Serial Controller与虚拟机断是连接的,这个时候的效果与之前的相反。

结论

ttyUSB0就是U转串在Ubuntu操作系统下对应的设备文件。事实上,方法一把U转串当做是一个实实在在的串口(COM1)挂载在Ubuntu上,在/dev目录下是找不到ttyUSB0,与之对应的设备文件是ttyS0。

而且,我猜测方法一是不需要Ubuntu的串口驱动的。以虚拟机上Ubuntu的眼光看,U转串是一个实实在在的串口,而非一个虚拟的串口。

其他

短接串口的2脚和3脚,可以测试串口是否正常工作。正常工作的效果是键盘上输入什么,串口调试助手显示什么。

 串口接口定义

1   DCD   Carrier Detect
2   RXD   Receive Data
3   TXD   Transmit Data
4   DTR   Data Terminal Ready
5   GND   System Ground
6   DSR   Data Set Ready
7   RTS   Request to Send
8   CTS   Clear to Send
9   RI    Ring Indicator

参考博客:ubuntu下minicom的安装及使用

在ubuntu下利用minicom实现串口通信的更多相关文章

  1. Linux学习三:Ubuntu下使用minicom和开发板通信

    备注:如果你是用的是Windows则使用超级终端即可:开始-程序-附件-通讯-超级终端 现在我们在Ubuntu下安装配置minicom: 1.进入ubuntu桌面ctrl+alt+t打开终端 输入:s ...

  2. ubuntu下使用minicom

    环境 宿主机平台:Ubuntu 16.04.6 目标机:iMX6ULL 安装及使用 首先时在Ubuntu里安装minicom sudo apt-get install minicom 接下来可以使用 ...

  3. 在Ubuntu下利用Eclipse开发FFmpeg配置小结

    首先需要编译FFmpeg得到头文件和lib文件,参见:在Ubuntu下编译FFmpeg 选择File-New-C Project 选择Executable下的Empty Project,右侧选择Lin ...

  4. ubuntu下怎么配置/查看串口-minicom工具

    一.安装minicom工具: 可直接使用命令sudo apt-get install minicom来完成安装 上面的截图因为检测到我已经安装过了. 二.通过minicom工具配置串口: 1.启动mi ...

  5. ubuntu下wine操作usb串口

    呃,换成ubuntu后想玩下文曲星,貌似没有linux下的下载工具,只好用wine. 用的是ch340的usb转串口,不得不说ubuntu果然集大成,这些驱动都有了,用minicom设置设备为/dev ...

  6. Ubuntu下利用Apache转发模块实现反向代理

    Apache的反向代理主要利用转发模块,proxy和proxy_http 先配置 Apache 支持proxy 和 proxy_http 在Ubuntu系统下,Apache的配置文件在目录/etc/a ...

  7. Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器

    最近在Ubuntu上搭建了Asp.Net的Web服务器,其中遇到很多问题,整理一下思路,以备后用. 搭建环境以及配套软件 Ubuntu: 11.10 Mono:3.0.6 下载地址(http://do ...

  8. Ubuntu下用SecureCRT连接串口/dev/ttyUSB0权限修复

    在普通用户的模式下,用SecureCRT链接串口交换机,开始会提示/dev/ttyUSB0权限不足,无法打开,临时的解决办法是 chmod 0+rw /dev/ttyUSB0 但是这个重启后便没了作用 ...

  9. 在Ubuntu下利用Eclipse调试FFmpeg《转》

    参考原贴,其中编译命令有略微改动. 第一步:准备编译环境 #sudoapt-get update #-dev libspeex-dev libtheora-dev libtool libva-dev ...

随机推荐

  1. java和c#md5加密不同

    java的mad5加密后为32位字符串,c#直接加密后可能不是32位,位数也不确定. 普通的写法 public static string Md5(string sourcein) { var md5 ...

  2. 实现app上对csdn的文章查看,以及文章中图片的保存 (制作csdn app 完结篇)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24022165 今天给大家带来CSDN的完结篇,即增加文章的查看和文章中图片的保存 ...

  3. TOMCAT 集群之 PERSISTENT SESSION

    tomcat的session保存在数据库中,不是很复杂,写下来供大家参考. 准备工作: 两架Ubuntu Server 12.04 64位,确定两级服务器可以互相ping的通并属于同一个网段 安装jd ...

  4. springMVC项目引入jstl标签库若干问题的总结

    中午,不知道动到项目的哪个地方了,之前在联系人列表页面用的好好的jstl标签库突然报错了:<%@taglib prefix="c" uri="http://java ...

  5. android92 aidl远程进程通信

    05项目RemoteService.java package com.itheima.remoteservice; //05项目 import com.itheima.remoteservice.Pu ...

  6. Callgrind 使用 2

    Callgrind是一款和gprof类似的性能分析工具,与gprof不同的是它不需要在编译源码时附加特殊选项,但推荐加上调试选项.Callgrind使用cachegrind的统计信息Ir(I cach ...

  7. Java基础知识强化之IO流笔记62:三种方式实现键盘录入

    1. 三种方式实现键盘录入     System.in 标准输入流.是从键盘获取数据的 键盘录入数据三种方式:  A:main方法的args接收参数.  java HelloWorld hello w ...

  8. jedis访问redis学习笔记

    最近在学习redis,在网上查了些文章,利用他人已有的知识,总结写下了这篇文章,大部分内容还是引用别人的文章内容.经过测试发现spring-data-redis现在有的版本只能支持reids 2.6和 ...

  9. struts2学生信息管理系统篇章②进度报告篇章

    之前做这个系统的时候是什么都不懂的! 经过一个月的时间,慢慢的java的知识都捡起来了. 对struts2和mvc模式都有一一定程度的了解,汇报一下上次的进度. 这个系统我所有的功能中我暂时只做到了下 ...

  10. ios 可变参数(va_list,va_start,va_end)

    例如:UIAlertView的init方法中的otherButtonTitles:(NSString *)otherButtonTitles, ...等多个可变参数. ios实现传递不定长的多个参数的 ...