要实现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]有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 |