linux 串口 多路复用,Linux多路复用Select()与poll()函数

本文介绍了Linux编程中如何实现对多个文件描述符(如串口)的同时监控,主要讨论了select()和poll()函数的使用方法。这两个函数允许程序等待多个I/O事件的发生,适用于串口、套接字等。文章提供了函数参数解析、使用示例以及对比了两者的区别,并推荐了相关嵌入式学习课程。
摘要由CSDN通过智能技术生成

e20ed7dacce57cd89a537f7cc9131983.png

▲长按图片保存可分享至朋友圈

微信公众号:嵌入式开发圈

关注可了解更多的教程。问题或建议,请公众号留言;

文章学习收集网络相关知识点进行整理,如有侵权,请联系删除。

小编准备写一本有关嵌入式产品方面的书,投票看看大家希望我写啥?如果觉得想法可以增多,欢迎留言区讨论,写写各位圈友的支持!

e1ec2b60463e382502987b4d382c9d18.gif

提出问题

在Linux编程中,一切皆文件,往往是对一个文件进行操作,比如说串口,和传感器打交道,一般情况下就是一来一去,一收一发,但是,如果我有多个传感器,而传感器之间又有关联,我想同时监控一个或者多个以上的文件描述符,要如何去实现这个需求呢?

35d99d1f0e4ac6152abfff886aed70ea.gif

e1ec2b60463e382502987b4d382c9d18.gif

解决问题

Linux健全的API已经为我们提供了解决问题的方法,在此我们引入select()函数、poll函数。

select()和poll()本质上来讲做的是同一件事,只是完成的方法不一样。两者都通过检验一组文件描述符来检测是否有特定的时间将在上面发生并在一定的时间内等待其发生。

[重要事项:无论select()还是poll()都不对普通文件起很大作用,它们着重用

于套接口(socket)、管道(pipe)、伪终端(pty)、终端设备(tty)和其他一些字符设备,但是这些操作都是系统相关(system-dependent)的。]

35d99d1f0e4ac6152abfff886aed70ea.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值