为什么通过命令行只发送 4 个字符到串口

为什么通过命令行只发送 4 个字符到串口

我正在尝试从命令行与 NodeMCU (CP210x USB/UART) 进行通信。但它不响应我的命令。我已经通过设置了正确的波特率stty 9600 raw

echo "gpio.write(0,gpio.LOW)" >/dev/ttyUSB0

当其他程序正在使用/侦听/dev/ttyUSB0( minicomscreen甚至cat /dev/ttyUSB0) 时,它会起作用。

当没有其他程序使用 tty 时,它不起作用。我已经确认 stty 设置始终相同。

从 NodeMCU 的错误消息中,我确认它只接收命令的前 4 个字符(当没有其他程序使用该端口时),因此作为解决方法,我做了以下工作:

echo -n "gpio" >/dev/ttyUSB0
echo -n ".wri" >/dev/ttyUSB0
echo -n "te(0" >/dev/ttyUSB0
echo -n ",gpi" >/dev/ttyUSB0
echo -n "o.LO" >/dev/ttyUSB0
echo    "W)"   >/dev/ttyUSB0

有人可以向我解释发生了什么以及如何解决它吗?

相关内容