首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以多次打开串行端口?

是否可以多次打开串行端口?
EN

Stack Overflow用户
提问于 2012-10-06 07:23:16
回答 1查看 3K关注 0票数 4

我正在设计一个控制系统,它应该在串口上处理太多的执行器(或多组执行器)。新的设计(尚未实现)应该控制多个POSIX线程的执行器。

这是否可以多次打开串行端口(由多个线程打开)?如果是,我将编写同步写入/异步读取机制。将有n线程、M[0]M[n-1],可以直接将数据写入串口。他们不应该直接从串口读取。相反,线程R应该从while(true)循环中的端口读取数据,并将数据服务到相应的等待它的线程。(当数据准备就绪并属于i第四线程时,唤醒等待响应的i)

这完全取决于这样一个问题:是否可以通过多个线程写入串行端口。

注意到:我不能测试串口的行为,因为目前我无法访问我校机电一体化实验室的设备,

我使用内核2.6.38-8修补了Xenomai实时子系统(如果重要的话)

我正在将代码移植到传统的Linux与串口通信的方式上。(打开/dev/ttyS0、设置波德率、read()write()等)目前,第三方库用于与串口通信。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-06 07:28:30

您只能打开同一串口一次。第二次审判失败,访问被拒绝。打开端口后,您可以使用端口句柄在不同的线程中使用它。当然,您需要同步这些线程之间的端口访问。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12757707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档