串口简介

串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是”数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个 25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。

Linux 操作系统从一开始就对串行口提供了很好的支持,本文简单介绍以下linux下串口调试方法以及如何用shell编程读取串口数据。

串口位置信息

在Linux下,串口的名称一般都为/dev/tty* ,接上串口线之后,我们可以使用:

dmesg | grep tty*

来查找对应的串口,这里使用的是ttyUSB0和ttyUSB1来做测试。

串口调试工具

Linux下提供了一个小巧的串口调试工具,叫做Minicom,可以直接通过sudo apt-get install minicom来进行安装。

安装之后界面如下:

按crtl_A Z可以进行参数设置,包括波特率,校验方式,流控状态等。软件可以通过-D指令直接打开对应串口:sudo minicom -D /tty0

串口与Shell编程

在这之前先介绍一下stty,stty(set tty)命令用于检查和修改当前注册的终端的通信参数。

stty -a 查看当前注册端口的设置情况:

stty -ixon将流控制设置为OFF,而命令

stty ixon则将流控其置为ON。

在stty命令中可以同时设置多个选项:stty ixon 1200

设置波特率为1200 并且设置流控为on

具体更多的参数设置可以使用man指令查看。

下面说下如何通过shell来实现数据的读取,这里主要是使用的cat指令:

cat /dev/ttyUSB0

但在如果执行上面命令,程序会一直停止在读取的界面,如果我们的要求是想读取一段一段的数据,即分批次读取一定之间内的数据,保存并处理,那应该怎么办呢?我们就需要先用stty将模式设置成raw 并且设置最大连接时间:

stty -F /dev/ttyUSB0 raw speed 9600 min 0 time 10

然后我们可以把每次读取到的数据存储到一个临时文件中,然后对其进行处理:

cat /dev/ttyUSB0 >> “tmpFile”

完成的代码如下:

stty -F /dev/ttyUSB0 raw speed 9600 min 0 time 10
while [ 1 -eq 1 ]
docat /dev/ttyUSB0 >> "tmpFile"do something
done

Linux下串口调试及使用shell编程接收数据相关推荐

  1. Linux脚本保存管道中的变量,Linux下管道重定向使用以及Shell编程(操作系统)

    实验名称:Linux的基本操作 实验目的: 1.了解管道和重定向 2.熟悉基本的Linux脚本的编写 实验环境:Ubuntu 12.4(32位,简体中文) 实验内容: 1.将当前用户目录下的文件清单输 ...

  2. Linux下串口编程

    文章目录 串口 驱动 安装 设备文件 测试代码 编译运行 引用 串口 电平之类的就不说了,串口使用的一般包括rs232全双工,rs422四线全双工,rs485两线半双工,rs485四线全双工几种模式, ...

  3. Linux下串口编程入门

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

  4. linux实验串行端口程序设计,Linux下串口编程心得(转)

    最近一段时间,需要完成项目中关于Linux下使用串口的一个部分,现在开帖记录过程点滴. 项目的要求是这样的,Qt应用程序主要完成数据采集和发送功能,一开始在google中海搜关键字"Qt串口 ...

  5. Linux下C语言串口应用编程,Linux下串口C语言编程

    Linux下串口C语言编程 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 串口操作代码#include #include #inclu ...

  6. linux设备驱动,tty串口编程 如何查看linux下串口是否可用?串口名称等

    如何查看linux下串口是否可用?串口名称等? http://zhidao.baidu.com/question/419148559.html 查看串口是否可用,可以对串口发送数据比如对com1口,e ...

  7. Linux 下串口编程(C++ 程序设计)

    串口通信是最简单的通信方式.即使在USB 非常流行的今天,依然保留了串行通信的方式.网络上已经有大量关于Linux下 C++ 串口编程的文章,但是我依然要写这篇博文.因为网络上的资料不是内容太多,就是 ...

  8. UART和RS232/RS485的关系是什么?RS485在linux下的调试 ubuntu串口调试工具

    串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式.但是初学者往往搞不清有关的名词如UART和RS232或RS485之间是什么关系,因为它们经常被放到语句 ...

  9. 【Linux】Linux 下串口编程入门

    目录 串口简介 串口操作 打开串口 设置串口 读写串口 关闭串口 例子 相关主题 串口简介 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是 RS-232-C 接口( ...

最新文章

  1. MySQL主主配置说明
  2. [ 浙江大学 程序设计专题 ] 四个专题代码 报告 PPT共享
  3. const和readonly内部区别
  4. @Autowired静态变量
  5. Python 计算机视觉(五)—— OpenCV 进行图像几何变换
  6. 纯C++版的Faster-Rcnn(通过caffe自定义RPN层实现)
  7. 如何向前一个Fragment回传信息?
  8. java 读取 excel poi_java poi怎么获取excel单元格的内容?
  9. 数据库中主键的选择和使用
  10. 正确的Kado ED「永遠のこたえ」
  11. C#反射获取 所有字段 及 私有字段
  12. Cocos技术派 | TS版属性声明详解
  13. PS软件的一些基本快捷键
  14. 英语词根词缀记忆法(全集)_你竟然还在用词根词缀背单词?智橡树英语教你音标和音节秒记法...
  15. 动感影集制作音乐相册,超简单实用的方法!风靡QQ空间、微信、抖音
  16. 第14章传智书城前台程序设计
  17. WIN10 WPS2019使用LaTeX 100%成功保姆教程
  18. 老年人计算机培训信息,老年人学习电脑基础知识
  19. h5 android 按钮键盘,【前端】Android 键盘顶起H5元素的问题
  20. Java解决校验区间值重复问题

热门文章

  1. 一文简单理解反向代理和正向代理模型
  2. 计算机的管理员关机命令,电脑自动关机命令是什么?怎么用
  3. 微信:用户账号绑定到微信公众号的方法
  4. 【愚公系列】2022年09月 微信小程序-微信小程序实现网页一键登录功能
  5. 大学生成人插画培训机构盘点
  6. ui标注android ios,IOS+ANDROID的UI切图与标注方法
  7. sigset 与 signal的区别?
  8. NeurIPS 2022 | 何恺明团队新作:MAE扩展到视频!学习时空表示,最优Mask比例高达90%!...
  9. Oracle语句(持续更新)
  10. 怎么生成永久二维码?怎么做出长期有效的图片二维码?