要实现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]打赏帖 | |
---|---|
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 | |
【nRF7002DK】基于sht30的温湿度计被打赏20分 | |
【nRF7002DK】日志打印被打赏20分 | |
rtthread硬件加密-5hash加密分析被打赏10分 | |
【STM32F769】SD卡驱动及其调试经验分享被打赏32分 | |
【分享开发笔记,赚取电动螺丝刀】使用看门狗降低系统隐藏bug触发概率被打赏18分 | |
【STM32F769】调试SD驱动,由于其时钟配置不对引起的错误以及排查记录被打赏35分 | |
【分享开发笔记,赚取电动螺丝刀】MCUXpressoConfigTools配置外设时的异常解决被打赏24分 |