- 论坛徽章:
- 0
|
中断程序怎么也不行,弄了好多天了.那位高手帮忙看看.
程序是把并口的25和10引脚连起来就发生中断……
这个是执行执行测试程序之前的信息(关键部分):
[root@localhost inter]# cat /proc/interrupts
CPU0
0:
282
IO-APIC-edge
timer
1:
7517
IO-APIC-edge
i8042
3:
1
IO-APIC-edge
4:
1
IO-APIC-edge
6:
4
IO-APIC-edge
floppy
8:
1
IO-APIC-edge
rtc0
9:
0
IO-APIC-fasteoi
acpi
12:
2491
IO-APIC-edge
i8042
14:
0
IO-APIC-edge
ata_piix
15:
7798
IO-APIC-edge
ata_piix
17:
16386
IO-APIC-fasteoi
BusLogic BT-958
18:
8703
IO-APIC-fasteoi
eth0
19:
1287
IO-APIC-fasteoi
uhci_hcd:usb1, Ensoniq AudioPCI
NMI:
0
Non-maskable interrupts
LOC:
514919
Local timer interrupts
TRM:
0
Thermal event interrupts
SPU:
0
Spurious interrupts
ERR:
0
MIS:
0
[root@localhost inter]# cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0070-0071 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : 0000:00:07.1
0170-0177 : ata_piix
01f0-01f7 : 0000:00:07.1
01f0-01f7 : ata_piix
02f8-02ff : serial
0376-0376 : 0000:00:07.1
0376-0376 : ata_piix
03c0-03df : vga+
03f2-03f5 : floppy
03f6-03f6 : 0000:00:07.1
03f6-03f6 : ata_piix
03f7-03f7 : floppy DIR
03f8-03ff : serial
……
把测试程序编为a文件执行:
[root@localhost inter]# ./a
start...
wait... input
执行./a之后的信息:
[root@localhost inter]# cat /proc/interrupts //多了一个中断7
……
7:
0
IO-APIC-edge
intdev
……
[root@localhost inter]# cat /proc/ioports //这个没变
……
0376-0376 : 0000:00:07.1
0376-0376 : ata_piix
03c0-03df : vga+
……
下面两个是驱动和测试程序(以前是自己写的,不行,我以为是我的程序错误,下面是抄的书:俞永昌那本):
驱动:
测试程序:
|
|