要实现20个串口通讯,程序和串口卡都已经搞定,但linux操作系统的/dev/下串口数量最多只有8个。想将其在启动时就扩展到20个,请哪位高手指点。
在网上我也看了一些资料,但行不通,问题集中在启动时将其20个串口驱动起来,多串口卡就可以找到了。
[em06] [align=right][color=#000066][此贴子已经被作者于2006-2-10 19:36:12编辑过][/color][/align]要实现20个串口通讯,程序和串口卡都已经搞定,但linux操作系统的/dev/下串口数量最多只有8个。想将其在启动时就扩展到20个,请哪位高手指点。
在网上我也看了一些资料,但行不通,问题集中在启动时将其20个串口驱动起来,多串口卡就可以找到了。
[em06]
/dev 目录下的串口设备的数量是可以自己控制的,ttyS0---ttySn
redhat 系列应该不止8个吧,debian只有5个,自己用命令mknod新建就是了;
至于启动时驱动各个串口,你可以在rc.local等类似启动脚本里进行初始化,用
setserial 命令;
谢谢。
我用的是red9,在网上找了一些资料,在rc.local中配置过,没有成功。
用的MAKEDEV命令。
setserial只是用来修改串口参数的,我想创建几个串口驱动,开机后创建的串口与串口卡连接不上。
不知道哪来的串口卡,连个驱动都没有,准备更换ing。
创建几个串口驱动?什么意思?
系统起来后用MAKEDEV命令创建“串口设备名”,
然后在rc.local中使用setserial设置串口卡,只要你的串口卡是16550a兼容的就可以,
前提是你知道你的串口卡上的串口的IO地址,中断,uart一般使用16550A就可以、、、
设备名创建了,在rc.local中设置串口卡时,找不到指定设备。
在/etc/inittab增建代码:
11:2345:respawn:/sbin/mingetty ttyS11
12:2345:respawn:/sbin/mingetty ttyS12
13:2345:respawn:/sbin/mingetty ttyS13
14:2345:respawn:/sbin/mingetty ttyS14
15:2345:respawn:/sbin/mingetty ttyS15
16:2345:respawn:/sbin/mingetty ttyS16
17:2345:respawn:/sbin/mingetty ttyS17
18:2345:respawn:/sbin/mingetty ttyS18
在rc.local中使用setserial设置:
/bin/setserial /dev/ttyS11 port 0x0190 irq 3 uart 16550A
/bin/setserial /dev/ttyS12 port 0x0198 irq 3 uart 16550A
/bin/setserial /dev/ttyS13 port 0x01a0 irq 3 uart 16550A
/bin/setserial /dev/ttyS14 port 0x01a8 irq 3 uart 16550A
/bin/setserial /dev/ttyS15 port 0x01b0 irq 3 uart 16550A
/bin/setserial /dev/ttyS16 port 0x01b8 irq 3 uart 16550A
/bin/setserial /dev/ttyS17 port 0x01c0 irq 3 uart 16550A
/bin/setserial /dev/ttyS18 port 0x01c8 irq 3 uart 16550A
是否哪里出了问题?
设备名创建了,在rc.local中设置串口卡时,找不到指定设备。
在/etc/inittab增建代码:
11:2345:respawn:/sbin/mingetty ttyS11
12:2345:respawn:/sbin/mingetty ttyS12
13:2345:respawn:/sbin/mingetty ttyS13
14:2345:respawn:/sbin/mingetty ttyS14
15:2345:respawn:/sbin/mingetty ttyS15
16:2345:respawn:/sbin/mingetty ttyS16
17:2345:respawn:/sbin/mingetty ttyS17
18:2345:respawn:/sbin/mingetty ttyS18
在rc.local中使用setserial设置:
/bin/setserial /dev/ttyS11 port 0x0190 irq 3 uart 16550A
/bin/setserial /dev/ttyS12 port 0x0198 irq 3 uart 16550A
/bin/setserial /dev/ttyS13 port 0x01a0 irq 3 uart 16550A
/bin/setserial /dev/ttyS14 port 0x01a8 irq 3 uart 16550A
/bin/setserial /dev/ttyS15 port 0x01b0 irq 3 uart 16550A
/bin/setserial /dev/ttyS16 port 0x01b8 irq 3 uart 16550A
/bin/setserial /dev/ttyS17 port 0x01c0 irq 3 uart 16550A
/bin/setserial /dev/ttyS18 port 0x01c8 irq 3 uart 16550A
是否哪里出了问题?
在/etc/inittab中的那些设置只是为了能从串口登陆系统;与找到串口设备无关吧
setserial语法没有错误,你用中断3,不与串口2冲突吗?
cat /proc/interrupts看看哪些中断还可以使用;
把setserial后的错误信息贴出来看看
我是参考http://www.bloghome.cn/index.php?op=ViewArticle&articleId=6961&blogId=1531
这篇文章操作的,上面好像有你的邮箱地址。
有的命令执行不对!
我是参考http://www.bloghome.cn/index.php?op=ViewArticle&articleId=6961&blogId=1531
这篇文章操作的,上面好像有你的邮箱地址。
有的命令执行不对!
首先,那篇文章中的串口卡使用的是中断3,你的串口卡也是吗?
还有IO地址?你是照搬过来的,还是按照你自己的串口卡的这些参数进行设置的?
请明确你的串口卡的这些参数后,再使用MAKEDEV和setserial命令,应该可以的、
good luck!
[align=right][color=#000066][此贴子已经被作者于2006-2-14 11:47:25编辑过][/color][/align] 我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
| OK1126B-S开发板下多时段语音提示型电子时钟被打赏¥27元 | |
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |