我试过谷歌搜索,找不到答案,在这里搜索,找不到答案.有没有人研究从线程a写入Serial()对象(pyserial)是否是线程安全并从线程b执行阻塞读取?
我知道如何使用线程同步原语和线程安全的数据结构,事实上我这个程序的当前形式有一个专用于读取/写入串口的线程,我使用线程安全的数据结构来协调应用程序中的活动.
如果我可以从主线程写入串口(并且从不读取它),我的应用程序将受益匪浅,并使用第二个线程中的阻塞读取从串行端口读取(并且永远不会写入它).如果有人真的希望我进入为什么这会使应用程序受益,我可以添加我的理由.在我看来,只有一个Serial()实例,即使线程B位于Serial对象的阻塞读取中,线程A也可以安全地在Serial对象上使用write方法.
有人知道Serial类是否可以这样使用?
编辑:我觉得答案可能是平台依赖的.如果您对此类平台有任何经验,最好知道您正在使用哪个平台.
编辑:只有一个回复,但如果有其他人尝试过此,请留下您的经验回复.
我想通过串口与手机通信.在给手机写了一些命令之后,我常常ser.read(ser.inWaiting())
得到它的返回值,但我总是得到了总1020 bytes
的字符,实际上,期望的回报应该结束了50KB
.
我试图设置ser.read(50000)
,但解释器将继续.
如何扩展输入缓冲区以立即获得所有返回?