[pso] [windows] tema2
Irina Tirdea
ynuka13 at gmail.com
Tue Apr 29 18:55:09 EEST 2008
> Da,folosesc masina dp site,deci e configurata,dar tot nu merge...
Din ce am inteles din mailul anterior, eroarea iti apare la
IoConnectInterrupt (in varianta non-PNP). Problema este ori la modul in care
inregistrezi intreruperea (HalGetInterruptVector, IoConnectInterrupt), ori
ai deja un driver inregistrat pentru portul paralel. Poate ti-a ramas un
driver incarcat de la unele din incercarile anterioare?
Partea de conectare a intreruperii functioneaza si pentru portul paralel in
solutia pentru laborator de pe site (doar generarea intreruperilor nu
functioneaza, din cauza masinii virtuale). Iti functioneaza inregistrarea
intrerupererii pentru portul paralel?
> A reusit cineva sa faca tema asta pe win?
Da, bineinteles.
> Daca exemplul din laborator cu portul
> parallel nu merge pe masina virtuala dp site, atunci pe ce sa testez?
Pe masina reala, daca ai port paralel; in cazul asta va trebuie sa urmezi
instructiunile de la exercitiul de laborator si sa legi unul din pinii de
date (2-9) la pinul 10 al portului paralel.
Alternativ, poti testa chiar portul serial, din masina virtuala, cu cateva
modificari la solutia pentru portul paralel, asa cum ti-am indicat in mailul
anterior.
In loc de (portul paralel):
#define MY_IRQ 7
#define MY_BASEPORT 0x378
...
WRITE_PORT_UCHAR ((PUCHAR) (MY_BASEPORT + 2), 0x10);
//activate interrupts
...
WRITE_PORT_UCHAR ((PUCHAR) (MY_BASEPORT + 2), 0x00);
//deactivate interrupts
folosesti (COM1):
#define MY_IRQ 4
#define MY_BASEPORT 0x3F8
...
WRITE_PORT_UCHAR ((PUCHAR) MY_BASEPORT + 4, 0x08);
//activate interrupts
WRITE_PORT_UCHAR ((PUCHAR) MY_BASEPORT + 1, 0x03);
...
WRITE_PORT_UCHAR ((PUCHAR) (MY_BASEPORT + 4), 0x00);
//deactivate interrupts
WRITE_PORT_UCHAR ((PUCHAR) (MY_BASEPORT + 1), 0x00);
Ti se genereaza intreruperea THREI chiar la inserarea modulului si se
executa rutina de tratare a intreruperii.
Irina
More information about the pso
mailing list