[问题] 序列埠正确close()后无法再正常工作

楼主: dces4212 (flawless)   2018-12-30 20:24:58
开发平台(Platform): GNU/Linux
编译器: gcc 7.3.0
额外使用到的函数库(Library Used): 无
问题(Question):初次开启能正常运作,但程式关闭后再次开启会卡在read函数
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):https://ideone.com/TzM5rD
补充说明(Supplement):程式功能为每秒印出从RS232收到的data的固定offset
的资料,目标装置是不断吐data而不接收的.使用ctrl+c
关闭程式时有handler去把序列埠的fd进行close(), 并
且有正确关闭(确定有回传值0).比较好奇的是为什么有正
确关闭但第二次开启会卡在read(),而且open()是没有
失败的,目前解法都是重新插入装置,然后装置是使用
USB virtual port.还是我哪边有漏考虑到了?
谢谢大家!
楼主: dces4212 (flawless)   2018-12-30 21:04:00
补充 应该说每一秒收一次资料才对,一次收512 bytes

Links booklink

Contact Us: admin [ a t ] ucptt.com