要实现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]打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 | |
【分享开发笔记,赚取电动螺丝刀】几个单片机I2S外设的BLCK时钟对比被打赏20分 | |
【功率监测与控制系统DIY活动成果贴】DIY功率计与LabVIEW数据采集被打赏100分 |