linux串口介绍与编程
一、串口介绍
串口也称串行通信接口(通常指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串口介绍与编程相关推荐
- Linux串口原理与编程
Linux 串口原理 2. How the Hardware Transfers Bytes mit这里说得巨清楚,串口相关原理的看这个就行,CPU和MCU串口接收差不多. When the ...
- Linux串口应用编程
目录 Demo 串口应用编程介绍 终端Terminal 串口应用编程(配置.读取.写入) struct termios 结构体配置 输入模式: c_iflag 输出模式: c_oflag 控制模式: ...
- Linux 串口编程三 使用termios与API进行串口程序开发
在 termios 结构体以及内部终端控制标志中,并非所有的参数对于实际的物理串口都是有效的,在使用过程中也不需要对于所有标志的作用都有所理解.事实上,快速掌握一项技术的核心点也是一种学习能力.对于使 ...
- Linux 串口编程二 深入了解 termios
前言 这一系列串口编程重点在应用层编程,但是在讲解原理与相关概念时需要对驱动框架有个基础的认识.如果只是浅尝辄止,以后在遇到串口驱动与应用层程序调试难免遇到瓶颈.关于 tty驱动架构参见我的其他博客: ...
- Linux 串口编程一 一些背景
在大部分讲解 Linux 编程书籍的时候会发现没有单独的串口编程章节,实际上串口编程已经被概括在了"终端"或者"终端IO"章节里面.在上一篇博客中对经常出现的几 ...
- Serial Programming HOWTO——Linux 串口编程HOWTO
转自:http://bbs.loveunix.net/viewthread.php?tid=35896 1. Introduction 简介 This is the Linux Serial Prog ...
- 嵌入式Linux 串口编程系列2--termios的VMIN和VTIME深入理解
在上一篇文章中,我们介绍了串口的一些基本知识.串口配置接口 termios结构体的概念,串口的配置参数有n多个,这里面不用都背下来,什么时候使用,翻看手册即可,但是有两个 参数是一定要理解的,就是VM ...
- Linux串口编程_termios
1.1 Linux串口编程主要是设置structtermios结构体的个成员值.Termios是在POSIX规范中定义的标准接口,表示终端设备(包括虚拟终端丶串口等),串口是一种终端设备,一般通过终端 ...
- shell编程入门 linux解释器原理,Shell编程入门Linux解释器原理详细介绍 使用Shell进行工作的人们对.doc...
Shell编程入门Linux解释器原理详细介绍 使用Shell进行工作的人们对 Shell编程入门:Linux解释器原理详细介绍使用Shell进行工作的人们对Unix/Linux下的Shell编程都很 ...
最新文章
- 亚洲首获奖!清华大学团队获ACM SIGCOMM 2021唯一最佳学生论文奖
- C# 3.0下有限状态机的一种优雅的实现
- 233 Matrix HDU - 5015
- 50万块钱,在哪个银行存钱最合适?
- input和raw_input
- 3.1 读入一个参数
- VC realize the transparent windows
- TCGA肿瘤基因数据的访问(二)
- 【C语言】shape of you
- iOS开发--底部按钮和应用图标显示未读消息
- 玩转基金(1)基金基础
- 基于python中jieba包的详细使用介绍
- windows server2008r2 下载
- 如何将chm格式转换成HTML网页格式
- 微信小程序使用本地背景图无法渲染的解决办法
- python搬家具_Python面向对象实现案例———摆放家具
- 第一章:计算机的软硬件基本结构_4
- 什么样男人必出轨 震惊!出轨男子名字中居然都有这字
- 菜鸟入门:Java程序员学习之路
- C#:Invoke 和 BeginInvoke 的真正涵义