首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cat: /dev/ttyS0:输入/输出错误

cat: /dev/ttyS0:输入/输出错误
EN

Unix & Linux用户
提问于 2017-11-18 12:08:19
回答 1查看 6.9K关注 0票数 7

我无法写入或从/dev/ttyS0中读取

代码语言:javascript
运行
复制
# cat /dev/ttyS0                
cat: /dev/ttyS0: Input/output error

设备存在,根用户拥有权限。

代码语言:javascript
运行
复制
# ls -lAhF /dev/ttyS0
crw------- 1 root root 4, 64 Nov 18 12:09 /dev/ttyS0

# setserial -g /dev/ttyS0 
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

# dmesg | egrep -i 'serial|ttys'
[    1.243271] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 2703.151301] ttyS0: LSR safety check engaged!

# cat /proc/devices | grep tty  
  4 tty
  4 ttyS
  5 /dev/tty

我在内核中启用了串行:

代码语言:javascript
运行
复制
# grep SERIAL config
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_NR_UARTS=1
CONFIG_SERIAL_8250_RUNTIME_UARTS=1
CONFIG_SERIAL_CORE=y

,我要做什么才能使系列作品成功呢?

EN

回答 1

Unix & Linux用户

发布于 2022-08-08 22:14:46

串行设备需要一串配置(波特率、停止位、启动位、奇偶校验等)。才能正常工作。通常,尝试使用cat/echo访问它们是不可能的,而且也不是一个很好的使用方法。

你对串行设备的用例是什么?您能使用像minicom (参见:https://www.youtube.com/watch?v=35gdWj94-lQ)或microcom这样的应用程序访问设备并提供必要的配置吗?如果没有,在尝试echo/cat之前,尝试使用stty从设备读取/写入串行配置。

如果您有使用python的经验,我建议您尝试PySerial (参见:https://pyserial.readthedocs.io/en/latest/pyserial_api.html)库。它将允许您以编程方式设置串行配置,然后调用串行端口对象的读/写。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/405428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档