0

0

linux串口是什么意思

WBOY

WBOY

发布时间:2022-05-07 16:08:13

|

3931人浏览过

|

来源于php中文网

原创

linux串口是串行接口的简称,是采用串行通信方式的扩展接口;串口是计算机一种常用的接口,具有连接线少、通信简单的特点,只要一对传输线就可以实现双向通信,linux可以使用系统调用open()或close()来打开或关闭串口。

linux串口是什么意思

本教程操作环境:linux7.3系统、Dell G3电脑。

linux串口是什么意思

串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

一条信息的各位数据被逐位 按顺序传送的通讯方式称为串行通讯。

串行通讯的特点是:

  • 数据位的传送,按位顺序进行,最少只需一根传输线即可完成;

  • 成本低但传送速度慢。串行通讯的距离可以从几米到几千米;

  • 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。

串口是计算机上的串行通讯的物理接口。计算机历史上,串口曾经被广泛用于连接计算机和终端设备和各种外部设备。虽然以太网接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。

串行接口简称串口(通常指COM接口),是采用串行通信方式的扩展接口。串口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。串口的特点是通信线路简单,只要一对传输线就可以实现双向通信从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。在Linux中,同样存在着大量的串口,本文我们就来聊聊Linux下的串口。

一、串口需要的头文件

  • 1: #include /*标准输入输出定义*/

  • 2: #include /*标准函数库定义*/

  • 3: #include /*Unix 标准函数定义*/

  • 4: #include

    ima.copilot
    ima.copilot

    腾讯大混元模型推出的智能工作台产品,提供知识库管理、AI问答、智能写作等功能

    下载
  • 5: #include  

  • 6: #include /*文件控制定义*/

  • 7: #include /*POSIX 终端控制定义*/

  • 8: #include /*错误号定义*/

二、打开关闭串口

对于串口设备文件的操作与其他文件操作基本相同。可以使用系统调用open(), close()打开或关闭串口。

在Linux下串口文件是在/dev下的,例如串口一为/dev/ttyS0,串口二为/dev/ttyS1。

open(),close()系统调用的原型

1: #include
2: #include
3: #include
4: int open(const char *path, int oflags);
5: int open(const char *path, int oflags, mode_t mode);
6: #include
7: int close(int fildes);
8: 实例:打开串口ttyS0。
9: int fd;
10: /*以读写方式打开串口*/
11: fd = open( "/dev/ttyS0", O_RDWR);
12: if (-1 == fd){ 
13: /* 不能打开串口一*/ 
14: perror("open serial port error");
15: }

三、设置串口

设置串口包括波特率设置、校验位、停止位设置。在串口设置中主要是设置struct termios结构体成员的值。

struct termios结构如下

1: #include
2: struct termio
3: {
4: unsigned short c_iflag; /* input options输入模式标志 */
5: unsigned short c_oflag; /* output options输出模式标志 */
6: unsigned short c_cflag; /* control options控制模式标志*/
7: unsigned short c_lflag; /* local mode flags */
8: unsigned char c_line; /* line discipline */
9: unsigned char c_cc[NCC]; /* control characters */
10: };

相关推荐:《Linux视频教程

相关专题

更多
golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

193

2025.06.09

golang结构体方法
golang结构体方法

本专题整合了golang结构体相关内容,请阅读专题下面的文章了解更多。

185

2025.07.04

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

989

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

49

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

193

2025.12.29

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1345

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

698

2023.06.29

桌面文件位置介绍
桌面文件位置介绍

本专题整合了桌面文件相关教程,阅读专题下面的文章了解更多内容。

0

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.2万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号