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   //波特率
  set carrier-watch off
  set handshake none
  set flow-control none
  robust
  set file type bin
  set file name lit
  set rec pack
  set send pack //这里可以改大一点,方便下载内核
  set window

3)使用

使用 kermit –c 来连接串口,如果出现乱码,请关闭终端多试几次,总会成功的-:)

回到kermit:Ctrl + \ ,再按c
跳回串口控:输入c,即connect命令 进入命令模式: $kermit 输入:connect连接
进入非命令模式:$kermit -c  #相当于在命令模式下面运行了connect或者c *进入命令模式,步骤如下:
)输入"[Ctrl]\".
)输入"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
步骤如下:
)$kermit -c #连接到串口上面了。
)输入"loadb 0xc0008000"
)输入"[Ctrl]\"
)输入"c" 这样进入命令模式.
)输入"send /root/test.sh"
)输入"connect".
这样就传完了。ckermit好像只支持kermit协议。
*传输文件file到板子的flash上面:
输入"send file".
这里,在命令行下的发送命令就是send。如果之前在Uboot下使用了loadb 0xc0008000进入的命令模式,那么发送的文件将会被放在了这个地址上面。
退出串口程序: 命令行下面输入"exit"

minicom

minicom是linux下串口通信的软件

、确认对串口有读/写的权限:ls -l /dev/ttyUSB0(串口设备)
、进行配置串口运行: # sudo minicom -s   )Serial port setup: 此时所示光标在"Change which setting"上,键入"A",
   此时光标移到第A项对应处,修改串口号
   
    注意:使用USB转串口,那么串口COM1对应ttyUSB0, COM2对应ttyUSB1;
       如果没有使用USB转串口,而是直接使用串口,那么串口COM1对应ttyS0, COM2对应ttyS1。   )配置完串口设备后,按Enter键,回到选择界面,再输入E
   配置波特率,按默认配置即可 8N1 (波特率:,数据位:,奇偶校验位:N 无,停止位:)。
  )配置完波特率,按Enter键,再输入F
   配置硬件流控,设置成"NO"
)配置软件流控,也选择NO。
 
  
  都配置完后,按下Enter键返回上一界面,选择save setup as dfl(即将其保存位默认配置)
  再选择Exit from Minicom,关闭minicom。 使用
 sudo minicom -c on  #进入minicom的串口终端显示界面(-c on 表示支持彩色字符显示)
  在控制台下通过组合键Ctrl+A Z可以进入minicom菜单。

组合键的用法:先按Ctrl+A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。
()S键:发送文件到目标系统中;
()W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用。
()C键:清除屏幕的显示内容;
()B键:浏览minicom的历史显示;
()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*

图形化工具:

.从 http://code.google.com/p/xgcom/ 下载xgcom源代码。最新版本为 xgcom-0.04.2.tgz。
 解压 tar xvzf xgcom-0.04..tgz /usr/local/src

.安装所需的库
sudo apt-get install automake
sudo apt-get install libglib2.-dev
sudo apt-get install libvte-dev
sudo apt-get install libgtk2.-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串口通信知识及串口编程

linux下串口通信与管理的更多相关文章

  1. Linux下串口通信工具minicom的用法

    一.查看串口设备 例如,将USB转串口线插入交换机Console口后,执行命令:$ll /dev/ttyUSB* 二.连接串口设备 $sudo minicom -D /dev/ttyUSB0 三.设置 ...

  2. Linux下进程通信的八种方法

    Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量 ...

  3. Linux下串口编程入门

    简介: Linux操作系统从一开始就对串行口提供了很好的支持,本文就Linux下的串行口通讯编程进行简单的介绍. 串口简介  串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用 ...

  4. Linux下串口編程遇到的接收数据错误及原因(0x0d,0x11接收错误)

    摘要:Linux下串口编程遇到的接收数据错误及原因 来源:https://dotblogs.com.tw/k/2012/07/24/73572 近日在调试串口的时候发现,另一设备向我ARM板的串口发送 ...

  5. Linux下串口编制【转】

    串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统.调制解调 ...

  6. Linux下串口编程【转】

    本文转载自:http://blog.csdn.net/w282529350/article/details/7378388 /************声明:本人只是见到这篇文章对我帮助很大才转载的,但 ...

  7. Linux下串口与工业协议的开发

    1.串口通信原理 串口通信定义 串口通信:数据的串行传送方式.串口通信可分为同步通信与异步通信. 同步通信:按照软件识别同步字符来实现数据的发送和接收. 将许多字符组成一个信息组进行发送 要求发送时钟 ...

  8. Linux下串口ttyS2,ttyS3不能用的问题解决办法

    PC104,Xlinux下,突然发现串口3,4不能用... 以为是硬件的问题,换成wince后,3,4工作正常,排除电路问题 在linux下查看dmesg: serial8250: ttyS0 at ...

  9. linux下串口的阻塞和非阻塞操作

    有两个可以进行控制串口阻塞性(同时控制read和write):一个是在打开串口的时候,open函数是否带O_NDELAY:第二个是可以在打开串口之后通过fcntl()函数进行控制. 阻塞的定义: 对于 ...

随机推荐

  1. Mac下使用charles遇到的问题以及解决办法

    最近使用上了Charles,因为之前一直使用Fidder,所以还是碰到了一些问题,这里记录一下. 如何安装破解版 打开charles后,发现访问但是抓不到包 抓取HTTPS的接口,看response是 ...

  2. java的return区别

    return ;和return null的区别在于:前者当方法返回值为void时候,return ; 跳出方法. 后者当方法的返回值为object对象时,return null,跳出方法,返回值为空值 ...

  3. ACM第二题 生理周期

    人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰,人会思维敏捷,精力容易 ...

  4. Python批量重命名

    某无聊的下午的一个小需求 import os dirPath = r'' #路径 format = r'' #后缀 name = 0 for file in os.listdir(dirPath): ...

  5. python自动化开发-1

    1.python简介 python是一门简明并且强大的面向对象的开发语言,已经在WEB开发,软件开发,科学计算,大数据分析,自动化运维等领域得到了广泛的应用. 注意:所有测试均已python3为主,与 ...

  6. 遇到个奇怪的问题,同时开启本地和远程两个事务,远程事务是sql2000没问题,是sql2008的不报错,但是写不上数据

    遇到个奇怪的问题,同时开启本地和远程两个事务,远程事务是sql2000没问题,是sql2008的不报错,但是写不上数据. 倒腾了4.5天,找到最终的解决办法:直接调用AdoConnection.exe ...

  7. Help improve Android Studio by sending usage statistics to Google

    Please press I agree if you want to help make Android Studio better or I don't agree otherwise. more ...

  8. springIOC

    从这段代码开始 ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); Pers ...

  9. Oracle odi 数据表导出到文件

    最近新客户要求,以EXCEL数据方式,将数据表的内容,通过AS2协议传输到客户那边,本来打算使用存储过程直接输出EXCEL,但一想,ODI这么强大的工具应该可以直接进行转换,所以参考了一下官方标准文档 ...

  10. Winform DataGridView直接导出Excel

    /// <summary> /// 导出excel /// </summary> /// <param name="fileName">导出文件 ...