免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 19299 | 回复: 6

请教:多进程和串口 [复制链接]

论坛徽章:
0
发表于 2010-03-13 22:49 |显示全部楼层
使用的模块是 win32::serialport

想监听一个串口,发现有信息就进行处理,处理后将结果又通过这个串口传回去。

想用fork,父进程监听,一旦有信息就用子进程处理
自己写的代码出现错误:Second Read attempted before First is done。
不知道怎么写代码,读和写不会冲突,有朋友给要加把锁
不知道这个代码应该怎么写!请问哪位能给个提示不?
先谢谢了!

论坛徽章:
0
发表于 2010-03-14 19:01 |显示全部楼层
推荐你用文件锁吧

perldoc Fcntl

具体的做法是当一个进程要读串口前,先加锁,如果取不到锁,会阻塞在那里

进程写完串口后,就释放锁,以便阻塞住的进程能读串口

论坛徽章:
0
发表于 2010-03-14 21:15 |显示全部楼层
谢谢,我试试先,有问题再问你,谢谢

论坛徽章:
0
发表于 2010-03-14 22:28 |显示全部楼层
有点不明白,好像flock都是针对类似文件句柄的,通过win32::serialport模块,好像不是个句柄!!
这怎么办啊?着急,郁闷,期待解决办法,谢谢

论坛徽章:
0
发表于 2010-03-15 10:13 |显示全部楼层
回复 4# ykredrum


    你理解错了,flock不是去锁串口,而是另外专门创建一个空文件,专作为文件锁所用

论坛徽章:
0
发表于 2010-03-15 13:06 |显示全部楼层
哦,理解!谢谢!
呵呵……好象看到曙光了!

论坛徽章:
0
发表于 2019-06-24 16:17 |显示全部楼层
楼主,你的问题解决了没有,serialport 这方面的信息太少了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP