我目前正在编写一个轻量级应用程序,用于处理串行端口,标准输入(键盘)和输出(屏幕)上的IO。这允许与通过USB串行连接到PC的外部板上嵌入的软件进行交互。
我主要使用read_nonblock
函数,它在Linux上运行良好:
$c = $usb_ios.read_nonblock(500)
$in = STDIN.read_nonblock(500)
我尝试在Windows上使用它,但是使用read_nonblock
时出错,然后我了解到read_nonblock
无法在Windows上使用。
在阅读了很多帖子,常见问题解答和博客后,我找不到在串口上进行某种非阻塞读取的简单方法。 (键盘输入可能有一种肮脏的方式。)
请注意,出于多种原因,我不想使用'serialport'宝石。事实上,我希望它能与Ruby的常规基本版本一起使用。