在使用串行UART接口进行编程时,我注意到了奇怪的行为。首先,我为串行端口设置了正确的波特率。
stty-F /dev/ttyS0 speed 9600
然后我正在和LUA一起阅读:
rserial=io.open('/dev/ttyS0','r')
print (Reading)
repeat
local line=rserial:read(1)
if line == "EOD" then
EOD = true
rserial:close()
elseif line then
lines = lines .. line
end
until EOD == true
print (lines)
Normaly我只得到“?”作为答案。但后来我尝试通过屏幕连接到设备,工作正常。
screen /dev/ttyS0 9600
关闭屏幕连接后,我重试了我的LUA脚本,奇怪的是,突然它工作正常。而不是“?”我收到了“OK”。
现在最后我的问题: 屏幕会改变我不知道的任何配置吗?如果是这样,我如何在LUA中设置它们?我无法弄清楚我错过了什么。 一如既往地谢谢你。 最好的问候。