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通过串口烧写内核了。
查看串口是否可用,可以对串口发送数据比如对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://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串口通信知识及串口编程

时间: 2024-12-26 17:59:25

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

Linux下串口通信工具minicom

minicom是linux下的串口通信工具,类似于Windows下的超级终端. 一般在yum源中可以直接安装 minicom -s可以设置minicom的速率,流控之类. 如上图:A是你的设备名.如在台式机上用console接串口则一般为/dev/ttyS0, 如果笔记本上使用USB-串口转换则为/dev/ttyUSB0之类. Linux下一般均默认安装了USB-串口的驱动 将配置保存为默认(Save setup as dfl),下次输入minicom则可以启动 注意:非正常关闭minicom,

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

一.查看串口设备 例如,将USB转串口线插入交换机Console口后,执行命令:$ll /dev/ttyUSB* 二.连接串口设备 $sudo minicom -D /dev/ttyUSB0 三.设置串口参数 在minicom中按CTRL+A,O,配置串口速率9600,8位,无奇偶校验,保存 四.查看minicom配置文件 [email protected]:~$ cat .minirc# Machine-generated file - use setup menu in minicom to

Linux下的程序包管理之源码形式

 Linux下程序包管理之源码形式 程序包的前世今生: 说到程序包管理,不得不提到是就是程序包是由什么组成的?也就是怎么形成的?程序是由源代码程序经过预处理.编译.然后汇编形成二进制的程序,这是针对特定硬件而形成的程序.有计算机编程基础的同学都应该知道源代码编译的时候是要调用特定的库(库文件),而这些库,在不同的系统上是不同的,比如Linux和window上的就不同,不同发行版的Linux上的库也不尽相同,所以这就导致了在不同种类系统上编译生成的二进制程序的运行环境也不尽相同,那么这些程序是不能

linux下mysql的用户管理及访问问题

1.mysql的安装配置 linux下有一个很神奇的东西叫yum,只要有源,用yum来安装是一件非常容易的事,什么都不用管,它会为你解决好一些软件依赖的问题.一键安装mysql: [[email protected] ~]# yum install mysql-server mysql-devel 安装完成后我们就可以使用mysql了: [[email protected] ~]# /etc/init.d/mysqld start Starting mysqld: [ OK ] [[email 

Linux下串口编制【转】

串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统.调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.串口通讯指的是计算机依次以位(bit)为单位来传送数据,串行通讯使用的范围很广,在嵌入式系统开发过程中串口通讯也经常用到通讯方式之一. Linux对所有设备的访问是通过设备文件来进行的,串口也是这样,为了访问串口,只需打开其设备文件即可操作串口

Linux下串口编程【转】

本文转载自:http://blog.csdn.net/w282529350/article/details/7378388 /************声明:本人只是见到这篇文章对我帮助很大才转载的,但是这个完整的程序里面本来有语法错误的,现在让我改过来了************/ --------------------------------------------------------- Author             :tiger-johnWebSite            :b

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

1.串口通信原理 串口通信定义 串口通信:数据的串行传送方式.串口通信可分为同步通信与异步通信. 同步通信:按照软件识别同步字符来实现数据的发送和接收. 将许多字符组成一个信息组进行发送 要求发送时钟和接收时钟保持严格的同步 效率相对高,对双发时钟的误差要求也高 异步通信:利用字符的再同步技术的通信方式. 按字符一个一个进行传输 每传输一个字符,就用起始位来通知对方,以此来重新核对收发双方同步 可靠性较高,但效率较低 同步通信按帧为单位传输,异步通信按字符为单位传输.(数据链路层) 9针串口管脚

DHCP服务介绍及Linux下DHCP服务的管理配置

1. DHCP服务简介 DHCP是Dynamic Host Configuration Protocol,动态主机配置协议,是用来在物理网络给主机分配ip地址的一种方式,区别于bootp,一次分配终身使用的缺点. DHCP提出的租约的概念,使得可以根据需要动态确定主机需要的IP地址,并且IP地址可以循环使用. 2. DHCP结构 DHCP是典型的C/S结构,需要服务端启动守护进程来保证来自client段的请求能被响应,DHCP的工作原理如下: 可以通过DORA来记忆: Client: DHCP

linux下mysql数据库 模型, 管理表 索引

1.linux下mysql数据库及其模型 1.1.SHOW TABLE STATUS LIKE 'user'\G   #查看表的存储引擎 SHOW ENGINES;   #查看数据库支持的存储引擎 客户端工具:mysql.mysqladmin.mysqldump.mysqlimport.mysqlcheck 服务器端工具:mysqld, mysqld_safe, mysqld_multi 1.2.my.cnf检查顺序: /etc/my.cnf --> /etc/mysql/my.cnf -->