Sapete se esiste la possibilità di gestire gli interrupt del bios sotto sistemi Windows ?
Intendo l'interrupt proveniente dalla pressione di un tasto della tastiera oppure un interrupt dal mondo esterno su porta parallela (irq7).
Un tempo, sotto dos, si poteva fare...
Grazie e ciao.
interrupt sotto windows.
Moderatori:
Paolino,
fairyvilje
3 messaggi
• Pagina 1 di 1
0
voti
Purtroppo Windows rimane "blindato", nel bene e nel male...! Ricordo che un amico aveva utilizzato delle librerie per accedere alla parallela, ma non so se erano contemplati gli utilizzi dei segnali IRQ. Non trovi nulla in rete che ti possa aiutare in questo senso? Intendo a livello di librerie.
DOS era di bocca buona...
Ciao.
Paolo.
cip ha scritto:Un tempo, sotto dos, si poteva fare...
DOS era di bocca buona...
Ciao.
Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-

Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 11:42
- Località: Vigevano (PV)
0
voti
Io utilizzo una libreria per accedere alla parallela (ntport).
Ma il problema, secondo me, non è tanto quello di leggere o scrivere all'indirizzo della periferica che si occupa di gestire gli interrupt esterni (credo sia un intel 8259), con la libreria non dovrebbe essere un problema.
Il punto è la gestione dell'interrupt a livello di ciò che deve fare il programma dopo che è avvenuta una richiesta di interruzione.
Sotto dos (infatti erano inserite nella libreria dos.h) c'erano delle funzioni, getvet e setvect, con le quali si poteva leggere e modificare la interrupt handler table del PC.
Se per esempio era avvenuto un irq7 (interrupt sulla porta parallela) allora modificando la interrupt handler table in modo che il programma saltasse all'indirizzo della interrupt service routine si poteva gestire l'evento.
Per farlo bastava leggere la interrupt handle table con getvect, salvare l'indirizzo associato ad irq7, modificare la interrupt handler table mettendo, con setvect, al posto dell'indirizzo originale l'indirizzo della interrupt servire routine (funzione nella quale mettevo il codice di ciò che il programma deve fare quando avviene un irq7).
Poi alla fine sempre con setvect rimettevo nella interrupt handler table l'indirizzo originale.
Però con il compilatore Borland C++ Builder 6.0 non ho trovato nulla che assomigli a getvet e setvect.
Del resto essendo due funzioni inserite nella dos.h.....
Proverò a cercare meglio in internet su questi argomenti, per il momento grazie delle informazioni.
Ciao.
Ma il problema, secondo me, non è tanto quello di leggere o scrivere all'indirizzo della periferica che si occupa di gestire gli interrupt esterni (credo sia un intel 8259), con la libreria non dovrebbe essere un problema.
Il punto è la gestione dell'interrupt a livello di ciò che deve fare il programma dopo che è avvenuta una richiesta di interruzione.
Sotto dos (infatti erano inserite nella libreria dos.h) c'erano delle funzioni, getvet e setvect, con le quali si poteva leggere e modificare la interrupt handler table del PC.
Se per esempio era avvenuto un irq7 (interrupt sulla porta parallela) allora modificando la interrupt handler table in modo che il programma saltasse all'indirizzo della interrupt service routine si poteva gestire l'evento.
Per farlo bastava leggere la interrupt handle table con getvect, salvare l'indirizzo associato ad irq7, modificare la interrupt handler table mettendo, con setvect, al posto dell'indirizzo originale l'indirizzo della interrupt servire routine (funzione nella quale mettevo il codice di ciò che il programma deve fare quando avviene un irq7).
Poi alla fine sempre con setvect rimettevo nella interrupt handler table l'indirizzo originale.
Però con il compilatore Borland C++ Builder 6.0 non ho trovato nulla che assomigli a getvet e setvect.
Del resto essendo due funzioni inserite nella dos.h.....
Proverò a cercare meglio in internet su questi argomenti, per il momento grazie delle informazioni.
Ciao.
3 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 19 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)