zoukankan      html  css  js  c++  java
  • linux下的usb转串口的使用(修改)【转】

    环境:Ubuntu 10.10 Server

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

     转自:http://blog.chinaunix.net/uid-25562715-id-1990181.html

    一、安装minicom:

    使用以下命令:
    # sudo apt-get install minicom

    以下为安装的详细信息:
    # sudo apt-get install minicom
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树
    正在读取状态信息... 完成
    将会安装下列额外的软件包:
    lrzsz
    下列【新】软件包将被安装:
    lrzsz minicom
    共升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 2 个软件未被升级。
    需要下载 270kB 的软件包。
    解压缩后会消耗掉 1389kB 的额外空间。
    您希望继续执行吗?[Y/n]y
    获取:1 http://ubuntu.uestc.edu.cn hardy/universe lrzsz 0.12.21-4.1 [97.0kB]
    获取:2 http://ubuntu.uestc.edu.cn hardy/main minicom 2.3~rc1-2 [173kB]
    下载 270kB,耗时 1s (184kB/s)
    选中了曾被取消选择的软件包 lrzsz。
    (正在读取数据库 ... 系统当前总共安装有 101203 个文件和目录。)
    正在解压缩 lrzsz (从 .../lrzsz_0.12.21-4.1_i386.deb) ...
    选中了曾被取消选择的软件包 minicom。
    正在解压缩 minicom (从 .../minicom_2.3~rc1-2_i386.deb) ...
    正在处理用于 man-db 的触发器...
    正在设置 lrzsz (0.12.21-4.1) ...
    正在设置 minicom (2.3~rc1-2) ...

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

    二、配置minicom:

    1、在使用minicom之前,首先要保证你对串口有读/写的权限。我们知道,Linux的设备对应于/dev/目录中的某个文件,串口COM1对应ttyS0,COM2对应ttyS1,使用以下命令来查看你对COM1的权限:
    $ ls -l /dev/ttyS0
    crw-rw---- 1 root dialout 4, 64 2009-08-01 11:05 /dev/ttyS0
    可以看到,它的属主是root。

    2、正如在Windows中要配置超级终端一样,在使用minicom之前,先要对串口进行配置。
    运行# sudo minicom -s

    选择Serial port setup,此时所示光标在"Change which setting"上,键入"A",此时光标移到第A项对应处:串口COM1对应ttyS0,COM2对应ttyS1(注意选择),如果直接用usb转串口则对应ttyUSB0(一般ubuntu下已经安装了usb转串口的驱动了)。

    然后对波特率,数据位和停止位进行配置,键入"E",波特率选为115200 8N1(数据位8,奇偶校验无,停止位1),硬/软件流控制分别键入"F"和"G",并且都选No。在确认配置正确之后,可键入回车返回上级配置界面,并 将其保存为默认配置(即save setup as dfl)。最后,选择"Exit from Minicom"命令退出。

    具体的配置信息如下所示:
    Serial port setup [Enter]
    +-------------------------------------------------------------+
    | A - Serial Device : /dev/ttyUSB0 |
    | B - Lockfile Location : /var/lock |
    | C - Callin Program : |
    | D - Callout Program -: |
    | E - Bps/Par/Bits : 115200 8N1 |
    | F - Hardware Flow Control : No |
    | G - Software Flow Control : No |
    | |
    | Change which setting? |
    +-------------------------------------------------------------+

    注意:如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0。

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

    组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。
    (1)S键:发送文件到目标系统中;
    (2)W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用。
    (3)C键:清除屏幕的显示内容;
    (4)B键:浏览minicom的历史显示;
    (5)X键:退出mInicom,会提示确认退出。

    3、配置文件所在目录
    Ctrl + A --> O
    +-----[configuration]------+
    | Filenames and paths |
    | File transfer protocols -|
    | Serial port setup |
    | Modem and dialing |
    | Screen and keyboard |
    | Save setup as dfl |
    | Save setup as.. |
    | Exit |
    +--------------------------+

    选择"Filenames and paths"
    +-----------------------------------------------------------------------+
    | A - Download directory : /home/crliu |
    | B - Upload directory : /tmp |
    | C - Script directory : |
    | D - Script program : runscript |
    | E - Kermit program : |
    | F - Logging options |
    | |
    | Change which setting? |
    +-----------------------------------------------------------------------+

    (1)A - download 下载文件的存放位置(开发板 ---> PC)
    开发板上的文件将被传输到PC机上的/home/crliu目录下。
    (2)B - upload 从此处读取上传的文件(PC ---> 开发板)
    PC机向开发板发送文件,需要发送的文件在/tmp目录下(PC机上的目录)。做了此项配置后,每次向开发板发送文件时,只需输入文件名即可,无需输入文件所在目录的绝对路径。

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

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

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

    1、# lsmod | grep usbserial
    如果有usbserial,说明系统支持USB转串口。

    2、插上USB转串口,在终端输入命令#dmesg | grep ttyUSB0,如果出现连接成功信息,则说明ubuntu系统已经识别该设备了。

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

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

    4、问题1
    如果虚拟机无法识别加载USB设备,出现如下提示:
    VMware Workstation突然出现这种问题:The connection to the VMware USB Arbitration Service was unsuccessful. Please check the status of this service in the Microsoft Management Console.
    原因:VMware USB Arbitration Service服务没启动
    解决方法为:
    (1)方法一:右键我的电脑,点击管理-服务和应用程序-服务,找到VMware USB Arbitration Service,右键点击,启动即可。(Win7下)
    (2)方法二:开始->运行,输入:cmd。。输入:net start VMUSBArbService

    5、问题2
    如果经过上面的步骤minicom还是不能正常工作,出现如下错误提示:
    # sudo minicom
    minicom: cannot open /dev/ttyUSB0: 没有该文件或目录

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

    这种方法是在硬件里添加串口设备,将window下的设备添加到虚拟机里。也就是说,要在window获得焦点的时 候加入usb转串口,然后再到虚拟机下将这个设备添加进去,这时就可以在ubuntu下查看添加的这个设备的设备文件,一般是/dev/tty0或者 /dev/ttyS0。
    这种方法其实是将window的usb转串口作为虚拟机的串口,所以就是tty0或者ttyS0了,而不是真正在ubuntu下加载的。
    具体步骤如下:
    (1)打开虚拟机环境,然后选择"VM-->Settings(Ctrl+D)"。
    (2)点"Add",进入添加硬件向导,选择"Serial Port",点"Next"。
    (3)选择第一项"Use physical port on the host",点"Next"。
    (4)选择"Physical serial port"方式为"Auto detect",勾选"Connect at power on",点"Finish"完成。
    (5)然后在上面minicom的配置中设置Serial Device: /dev/tty0或者Serial Device: /dev/ttyS0,重启开发板,这样就可以正常运行minicom了。

    来自:http://www.cnblogs.com/shendeng/articles/1887438.html

  • 相关阅读:
    【LeetCode】Validate Binary Search Tree
    【LeetCode】Search in Rotated Sorted Array II(转)
    【LeetCode】Search in Rotated Sorted Array
    【LeetCode】Set Matrix Zeroes
    【LeetCode】Sqrt(x) (转载)
    【LeetCode】Integer to Roman
    贪心算法
    【LeetCode】Best Time to Buy and Sell Stock III
    【LeetCode】Best Time to Buy and Sell Stock II
    CentOS 6 上安装 pip、setuptools
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/4941875.html
Copyright © 2011-2022 走看看