zoukankan      html  css  js  c++  java
  • linux下串口通信与管理

    linux下的串口与windows有一些区别,下面将介绍一下linux下串口通信管理

     

    查看是否支持USB串口:

    #lsmod | grep usbserial    

        如果没有信息:sudo apt-get install setserial

    插上USB转串口,在终端输入命令

    #dmesg | grep ttyUSB0

        如果出现连接成功信息,则说明系统已经识别该设备

     

    一.找到自己的串口设备

    查找自己的开发板与电脑的连接的COM口方法

    Windows:设备管理器

    linux: 

    (1)dmesg    #查看带有"SerialNumber"(串口)的数字,这里串口号是0

    (2)dmesg | grep ttyUSB

    (3)ls -l /dev/ttyUSB*

    二.串口通信控制

    c-kermit 

      kermit是一款集成了串口通信和网络通信的工具  

      相比Minicom而言,u-Boot开发者推荐使用串口通信软件ckermit

    1)安装kermit$ sudo apt-get install ckermit 

            或者源码安装: 到http://www.columbia.edu/kermit/ck80.html#download下载C-Kermit最新版本
    2)在$HOME主目录下,建立.kermrc配置文件,vi ~/.kermrc: 

      set line /dev/ttyUSB0 //串口名,要确认当前用户有权限对其操作
      set speed 115200   //波特率
      set carrier-watch off 
      set handshake none 
      set flow-control none 
      robust 
      set file type bin 
      set file name lit 
      set rec pack 1000 
      set send pack 1000 //这里可以改大一点,方便下载内核 
      set window 5 

    3)使用

    使用 kermit –c 来连接串口,如果出现乱码,请关闭终端多试几次,总会成功的-:)
    
    回到kermit:Ctrl +  ,再按c
    跳回串口控:输入c,即connect命令
    
    
    进入命令模式: $kermit   输入:connect连接
    进入非命令模式:$kermit -c  #相当于在命令模式下面运行了connect或者c
    
    *进入命令模式,步骤如下: 
    1)输入"[Ctrl]". 
    2)输入"c". 
    这样进入kermit的命令模式可以进行各种命令(支持TAB补全),例如HELP可以查看帮助,输入"?"列出所有命令。 
    
    *从命令模式退回com终端: 
    输入"connect". 
    或输入"c". 
    这样又切换会了串口界面(例如在uboot下面)。 
    
    在命令模式下常用的一些命令:ls cd pwd ...
    
    
    发送文件
    kermit中输入connect后,跳到u-boot串口界面。
    输入loadb 0xAddress 回车
    按下 ctrl +  ,再按c,切换到kermit。
    输入命令:send /home/zImage
    kermit开始传送数据了,并可以看到传送进度,发送完后,输入c,再回到u-boot界面,然后,再输入:
    go 0xAddress
    内核开始运行.
    
    *一个简单的完整例子: 
    启动板子uboot之后,我想传一个文件/root/test.sh到地址0xc0008000 
    步骤如下: 
    1)$kermit -c     #连接到串口上面了。 
    2)输入"loadb 0xc0008000" 
    3)输入"[Ctrl]" 
    4)输入"c"     这样进入命令模式. 
    5)输入"send  /root/test.sh" 
    6)输入"connect". 
    这样就传完了。ckermit好像只支持kermit协议。 

    *传输文件file到板子的flash上面: 
    输入"send file". 
    这里,在命令行下的发送命令就是send。如果之前在Uboot下使用了loadb 0xc0008000进入的命令模式,那么发送的文件将会被放在了这个地址上面。 
    退出串口程序: 命令行下面输入"exit" 
    
    
    

      

    minicom 

    minicom是linux下串口通信的软件
    
    1、确认对串口有读/写的权限:ls -l /dev/ttyUSB0(串口设备)
    2、进行配置串口运行: # sudo minicom -s
    
      1)Serial port setup: 此时所示光标在"Change which setting"上,键入"A",
       此时光标移到第A项对应处,修改串口号
       
        注意:使用USB转串口,那么串口COM1对应ttyUSB0, COM2对应ttyUSB1;
           如果没有使用USB转串口,而是直接使用串口,那么串口COM1对应ttyS0, COM2对应ttyS1。
    
      2)配置完串口设备后,按Enter键,回到选择界面,再输入E
       配置波特率,按默认配置即可  115200 8N1 (波特率:115200,数据位:8,奇偶校验位:N 无,停止位:1)。
      3)配置完波特率,按Enter键,再输入F
       配置硬件流控,设置成"NO"
       4)配置软件流控,也选择NO。
        
      
      都配置完后,按下Enter键返回上一界面,选择save setup as dfl(即将其保存位默认配置)   再选择Exit from Minicom,关闭minicom。 使用  
    sudo minicom -c on  #进入minicom的串口终端显示界面(-c on 表示支持彩色字符显示)   在控制台下通过组合键Ctrl+A Z可以进入minicom菜单。
    组合键的用法:先按Ctrl
    +A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。 (1)S键:发送文件到目标系统中; (2)W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用。 (3)C键:清除屏幕的显示内容; (4)B键:浏览minicom的历史显示; (5)X键:退出mInicom,会提示确认退出。 下次在输入sudo minicon 即可直接进入。 命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。 说明/dev/ttyS0 对应为串口0 为你连接开发板的端口。 注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复 查看串口是否可用,可以对串口发送数据比如对com1口,echo "test" > /dev/ttyS0 在通过串口用xmodem协议烧写内核时会提示没有xmodem协议,所以还必须安装软件包:lrzsz sudo apt-get install lrzsz 这时候就可以正常地用minicom通过串口烧写内核了。
    注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复
    查看串口是否可用,可以对串口发送数据比如对com1口,echo "test" > /dev/ttyS0
    查看串口名称使用 ls -l /dev/ttyS* 
       一般情况下串口的名称全部在dev下面,如果没有外插串口卡的话默认是dev下的ttyS* 
       一般ttyS0对应com1,ttyS1对应com2
    查看串口驱动:cat /proc/tty/drivers/serial
    查看串口设备:dmesg | grep ttyS*

    图形化工具:

    1.从 http://code.google.com/p/xgcom/ 下载xgcom源代码。最新版本为 xgcom-0.04.2.tgz。
     解压 tar xvzf xgcom-0.04.2.tgz /usr/local/src
    
    2.安装所需的库 sudo apt-get install automake sudo apt-get install libglib2.0-dev sudo apt-get install libvte-dev sudo apt-get install libgtk2.0-dev
    3.编译: cd xgcom-0.04.2
        ./autogen.sh
        make
        sudo make install
    4.which xgcom  #查看安装位置
    5.sudo xgcom   #运行
    
    

    相关链接:

      http://blog.csdn.net/xian_2015/article/details/49443483   ckermit

      http://5deweb.blog.163.com/blog/static/4902191120138601058790/

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

      http://blog.chinaunix.net/uid-28751779-id-5097822.html  linux串口通信知识及串口编程

  • 相关阅读:
    Leetcode 12. Integer to Roman
    Leetcode 133. Clone Graph
    Leetcode 199. Binary Tree Right Side View
    Leetcode 200. Number of Islands
    React通过Ajax获取数据
    canvas鼠标点击划线
    制作图片墙
    CSS制作翻牌特效
    输入框制作方法
    初来咋到
  • 原文地址:https://www.cnblogs.com/ssooking/p/5907027.html
Copyright © 2011-2022 走看看