📄 00000002.htm
字号:
IRQ 4 Serial port 1 <BR> IRQ 5 Parallel port 2 (Reserved in PS/2) <BR> IRQ 6 Floppy diskette <BR> IRQ 7 Parallel port 1 <BR> IRQ 8 Real-time clock <BR> IRQ 9 Redirected to IRQ2 <BR> IRQ 10 保留 <BR> IRQ 11 保留 <BR> IRQ 12 保留 (Auxillary device in PS/2) <BR> IRQ 13 Math coprocessor <BR> IRQ 14 Hard disk controller <BR> IRQ 15 保留 <BR> <BR> There is really no Right Thing to do when choosing interrupts. Just <BR> make sure it isn't being used. 5 is a good choice. If 5 is also <BR> taken, I suggest 2 (which is the same as 9). <BR> <BR>8. Linux 会自动检查 serial devices 吗? <BR> <BR> 会的,要 Linux 在开机时能自动检查并设定 serial devices 加底下一行 <BR> #define CONFIG_AUTO_IRQ <BR> 到 /usr/src/linux/chr_drv/serial.c 之中 <BR> 当然,此时你就要重新编译 kernel. <BR> <BR> <BR>9. 一般的在/dev 目录下的serial devices 号码是多少呢? <BR> <BR> 一般的建议是如下: <BR> <BR> /dev/ttyS0 major 4, minor 64 /dev/cua0 major 5, minor 64 <BR> /dev/ttyS1 major 4, minor 65 /dev/cua1 major 5, minor 65 <BR> /dev/ttyS2 major 4, minor 66 /dev/cua2 major 5, minor 66 <BR> /dev/ttyS3 major 4, minor 67 /dev/cua3 major 5, minor 67 <BR> <BR>9.1 用 'mknod' 指令产生device <BR> <BR> 如果你需要产生一个 device, 就用"mknod"指令来产生吧! <BR> <BR> 假设你需要产生一个 devices 给 cua0 (COM1):用类似的作法 <BR> <BR> yourbox# mknod /dev/cua0 c 5 64 <BR> yourbox# mknod /dev/ttyS0 c 4 64 <BR> <BR> <BR> <BR>10. 如何 configure 魔电? <BR> <BR> 魔电有几个暂存器,你可以依个人喜好而变更。设好暂存器之後,再尝试 <BR> 连接魔电。详细的暂存器设定请参考魔电的手册。 <BR> <BR> 魔电有几个暂存器,你可以依个人喜好而变更。设好暂存器之後,再尝试 <BR> 连接魔电。详细的暂存器设定请参考魔电的手册。 <BR> <BR>10.1 拨号出去的 configuration <BR> <BR> 若只是要拨号出去而已,随你需要而 configure 。 <BR> <BR> 我的偏好是要看结果,所以我设成 Q0,而且我也想看看我输入了什麽, <BR> 所以我设 E1. <BR> <BR>10.2 接话与拨号的 configuration <BR> <BR> 接话与拨号的使用,有一定的方法: <BR> <BR> 底下就是你要设定的东东: (在每个指令值之前加上 AT <BR> 指,例如 ATE0, 等等..) <BR> <BR> E0 Command echo OFF <BR> Q1 NO result codes are reported <BR> <BR> 如果你不完全关上魔电的talk,它就会和'getty' talk. 然後 'getty'程式 <BR> 就会认为有人想要 log in, 它也就会产生 'login'执行。 <BR> 这样就会混洧不清了。不正确的设定,可能会产生如下的错误讯息了 <BR> "respawning to fast"。 <BR> <BR> &C1 DCD is on after connect *only* <BR> <BR> 如果 DCD 都是 on, 表示有连接存在。而且 'getty' 就会想让人 login 进来 <BR> 没有设这个的话,将会有 "device busy" 的错误讯息。 <BR> <BR> 其它要设的有: <BR> <BR> &S0 DSR is always on <BR> &D3 DTR on/off resets modem <BR> enable your data compression (看你的魔电是否有支援) <BR> autobaud (同上) <BR> <BR> <BR>11. 如何将印表机接上 serial port? <BR> <BR> 在 Printing-HOWTO 中可找到答案。 <BR> <BR> <BR>12. 什麽是 locks, 其作用又是如什麽? <BR> <BR> Locks 只是一个档,说明著某一device 是正在使用中。这些是记录在 <BR> /usr/spool/uucp中。 Locks 的名字是像 LCK..<name>, 其中的<name> <BR> 是一个 device 名称,或是一个 UUCP 主机名字。有些程式会产生一些 <BR> locks 以便能独自使用那些 devices。例如,你用魔电拨号,有一个lock <BR> 就会告诉其它程式某人正使用魔电中。Locks 主要是包含那个锁定device <BR> 程式的PID。大部分的程式会查看 lock 并决定lock 是否还有效,是由 <BR> 程式表中的程式是否还在。 lock 若有效,则程式应该还在程式表中,若 <BR> 无效的话,这程式就可以锁定此device了。 <BR> <BR> <BR>13. 什麽是 UARTs? 它是如何影响效率的? <BR> <BR> UARTs (Universal Asyncronous Receiver Transmitter) 是位在你的 <BR> 通讯设备中的晶片(像是络端机, PC 一端有一个)。它的作用是将字元 <BR> 转换成 bits, 将它送出线路外,而另一端则是将收到的bits 还原成字元 <BR> UARTs 是非同步设备,因为字元传送的时段不是固定的。 <BR> <BR> 例如你有一个终端机连上你 PC,当你输一个字元时,终端机就将它送到 <BR> UART。 UART 则将字元的每一个bit 递送到 序列线上,一次一个bit 在 <BR> 一特定的速度。而我们有各种 110,330,1200,2400,...每秒的bit数的速度 <BR> 。这是简单的量魔电速度的方法。在另一端则依序收下每一个bit 并转成 <BR> 字元。 <BR> <BR> 目前有几种的 UARTs. 你可以听过 dumb UARTs - 像 8250 和 16450, 或是 <BR> smart 或 FIFO UARTs - 像 16550A。要了解它们的不同,首先我们看看当 <BR> 一个 UART 收到一个字元时,会发生什麽事情。 <BR> <BR> UART 本身不对字元做任何事,而只是传送与接收它们。当一个字元被处理 <BR> 完之後,CPU 就会得到一个中断。 8250 和 16450 UARTs 只有一个字元的 <BR> 缓冲区。这就是说,每一次一个字元被处理完,它就中断 CPU。在低速下, <BR> 这还不错。但是在高速传送下,CPU 就显的很忙来处理 UART ,也没有其它 <BR> 的时间来注意其它的工作。有时CPU会无法及时来处理中断,所以字元就会 <BR> 被盖过了。 <BR> <BR> 这也就16550A UART出现的原因。这些晶片具有16字元的缓冲区。这就是说 <BR> 每次接传16个字元,才会处理一次中断。不仅是等待,而且 cpu 也能一次 <BR> 传送16个字元。这是一个比其它UART明显的优点。cpu 处理少一点的中断 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -