一、串口介绍

串口也称串行通信接口(通常指COM接口),是实际工作中经常使用的一个接口,比如Linux下使用的debug串口,它用来登录Linux系统,输出log。另外也会使用串口和外部的一些模块通信,比如GPS模块、RS485等。串口通信的两种最基本的方式:同步串行通信方式和异步串行通信方式。异步串行是指UART(UniversalAsynchronous Receiver/Transmitter)通用异步收发传输器,通信双方接三根线,RX、TX和GND,TX用于发送数据,RX用于接受数据,双方收发交叉对接,支持全双工方式,包含TTL电平的串口和RS232电平的串口。TTL电平是3.3V的,而RS232是负逻辑电平。一般软件配置串口,有波特率,数据位、停止位、校验位、流控。分别表示传输速度,一帧数据的长度,以及发完告知停止,发完是否校验,是否进行发送控制。默认是固定8位数据位,1位停止位、无校验、无流控,只需配置波特率。

linux下的串口操作

Linux的串口表现为设备文件。串口设备文件命名一般为/dev/ttySn,若串口是USB扩展的,则串口设备文件命名多为/dev/ttyUSBn。不同的硬件平台对串口设备文件的命名有所区别。

linux终端操作串口

可使用microcom工具操作串口,如下:microcom -s 115200 /dev/ttyS1 /dev下的ttyS1对应的就是UART1设备。 microcom 命令后的-s 115200,表示设置波特率为115200bps。 micrcom指令退出的方式是Ctrl+x,不是Ctrl+c。

1、/dev/tty                                                    当前控制终端Terminal

可以使用命令”ps –ax”来查看进程与哪个控制终端相连,使用命令”tty”可以查看它 具体对应哪个实际终端设备。

2、/dev/ttyn和/dev/console                         (虚拟)控制台终端

在Linux 系统中,计算机显示器通常被称为控制台终端 (Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,就可以切换到tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。

3、/dev/ttySn   一般为/dev/ttyS0                 串行端口终端,接串口线使用的端口设备

串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为 那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于DOS系统下的COM1、COM2等。若要向一个端口发送数据,可以在命令行上把标准输出重定向到这些特殊文件名上即可。例如, 在命令行提示符下键入:echo test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上。

setenv bootargs console=ttyS2,115200n8 root=/dev/ram rdinit=/linuxrc

4、/dev/ttyUSBn   一般为/dev/ttyUSB0       USB转串口终端,接USB转串口线可用此端口设备

二、应用编程

参考文档Linux串口编程 - feisky - 博客园

1、打开串口

2、设置串口

3、读取数据

4、关闭串口

linux串口介绍与编程相关推荐

  1. Linux串口原理与编程

    Linux 串口原理 2. How the Hardware Transfers Bytes     mit这里说得巨清楚,串口相关原理的看这个就行,CPU和MCU串口接收差不多. When the ...

  2. Linux串口应用编程

    目录 Demo 串口应用编程介绍 终端Terminal 串口应用编程(配置.读取.写入) struct termios 结构体配置 输入模式: c_iflag 输出模式: c_oflag 控制模式: ...

  3. Linux 串口编程三 使用termios与API进行串口程序开发

    在 termios 结构体以及内部终端控制标志中,并非所有的参数对于实际的物理串口都是有效的,在使用过程中也不需要对于所有标志的作用都有所理解.事实上,快速掌握一项技术的核心点也是一种学习能力.对于使 ...

  4. Linux 串口编程二 深入了解 termios

    前言 这一系列串口编程重点在应用层编程,但是在讲解原理与相关概念时需要对驱动框架有个基础的认识.如果只是浅尝辄止,以后在遇到串口驱动与应用层程序调试难免遇到瓶颈.关于 tty驱动架构参见我的其他博客: ...

  5. Linux 串口编程一 一些背景

    在大部分讲解 Linux 编程书籍的时候会发现没有单独的串口编程章节,实际上串口编程已经被概括在了"终端"或者"终端IO"章节里面.在上一篇博客中对经常出现的几 ...

  6. Serial Programming HOWTO——Linux 串口编程HOWTO

    转自:http://bbs.loveunix.net/viewthread.php?tid=35896 1. Introduction 简介 This is the Linux Serial Prog ...

  7. 嵌入式Linux 串口编程系列2--termios的VMIN和VTIME深入理解

    在上一篇文章中,我们介绍了串口的一些基本知识.串口配置接口 termios结构体的概念,串口的配置参数有n多个,这里面不用都背下来,什么时候使用,翻看手册即可,但是有两个 参数是一定要理解的,就是VM ...

  8. Linux串口编程_termios

    1.1 Linux串口编程主要是设置structtermios结构体的个成员值.Termios是在POSIX规范中定义的标准接口,表示终端设备(包括虚拟终端丶串口等),串口是一种终端设备,一般通过终端 ...

  9. shell编程入门 linux解释器原理,Shell编程入门Linux解释器原理详细介绍 使用Shell进行工作的人们对.doc...

    Shell编程入门Linux解释器原理详细介绍 使用Shell进行工作的人们对 Shell编程入门:Linux解释器原理详细介绍使用Shell进行工作的人们对Unix/Linux下的Shell编程都很 ...

最新文章

  1. 亚洲首获奖!清华大学团队获ACM SIGCOMM 2021唯一最佳学生论文奖
  2. C# 3.0下有限状态机的一种优雅的实现
  3. 233 Matrix HDU - 5015
  4. 50万块钱,在哪个银行存钱最合适?
  5. input和raw_input
  6. 3.1 读入一个参数
  7. VC realize the transparent windows
  8. TCGA肿瘤基因数据的访问(二)
  9. 【C语言】shape of you
  10. iOS开发--底部按钮和应用图标显示未读消息
  11. 玩转基金(1)基金基础
  12. 基于python中jieba包的详细使用介绍
  13. windows server2008r2 下载
  14. 如何将chm格式转换成HTML网页格式
  15. 微信小程序使用本地背景图无法渲染的解决办法
  16. python搬家具_Python面向对象实现案例———摆放家具
  17. 第一章:计算机的软硬件基本结构_4
  18. 什么样男人必出轨 震惊!出轨男子名字中居然都有这字
  19. 菜鸟入门:Java程序员学习之路
  20. C#:Invoke 和 BeginInvoke 的真正涵义

热门文章

  1. 中国民族贸易促进会南粤分会会长、广东办事处主任张敏赴贵州中医药大学考察交流
  2. 怎么才能快速批量给视频添加BGM
  3. ubuntu20.04 安装flash插件
  4. 加深昨天的話題,把一些模糊的概念統一一下 日期:2004-05-19。
  5. app上架后搜不到解决办法
  6. 运动蓝牙耳机怎么选?学生党百元预算内这几款蓝牙耳机很不错
  7. c++ 11 原子操作库 (std::atomic)(一)
  8. 小米pro MX150版完美原装系统教程
  9. Ubuntu18.04屏幕截图快捷键
  10. margin值类型为百分比