.available()不能用于进程间通信(包括串行),因为它仅检查当前进程中(输入缓冲区中)是否有可用数据。
在串行通信中,当您发送一个messaga然后立即呼叫时
available(),由于串行端口尚未回复任何数据,因此您通常会得到0。
解决方案是
read()在单独的线程中使用阻塞(
interrupt()以结束线程):
线程中断未结束对输入流的读取的阻塞调用

.available()不能用于进程间通信(包括串行),因为它仅检查当前进程中(输入缓冲区中)是否有可用数据。
在串行通信中,当您发送一个messaga然后立即呼叫时
available(),由于串行端口尚未回复任何数据,因此您通常会得到0。
解决方案是
read()在单独的线程中使用阻塞(
interrupt()以结束线程):