PDA

Visualizza versione completa : "Porta parallela"


elodi
19-02-2008, 12.17.51
Buongiorno a tutti,
ho un problema di questo tipo:

Ho fatto un programma che, utilizzando la porta parallela del pc, apre una paratia quando il bit0 in uscita dalla porta è a "1" e la chiude quando è a "0". La paratia deve essere normalmente chiusa e deve aprirsi solo quando il mio programma è in funzione ed è verificata una certa condizione. Ho notato però che all'avvio di windows tutti i bit della porta sono a "1" (e ad "1" tornano tutte le volte che si avvia ad esempio Esplora Risorse).

Qualcuno di voi conosce un modo per dire a windows di mantere i bit della porta parallela a "0" ?

Grazie

Sergio Neddi
19-02-2008, 22.30.54
Quando si avvia la macchina i bit fanno i salti mortali perché all'inizializzazione viene testata dal software.
Ad esempio, nei vecchi PC IBM (parlo degli antidiluviani 8088 con BIOS di 8k) il BIOS testava la presenza della porta scrivendoci in esadecimale prima AA e poi 55, invertendo quindi lo stato dei bit e verificando poi la lettura dei valori.
Immagino ci siano routine simili anche sui PC odierni, sia all'avvio del PC che al caricamento dei driver di periferica, ecc.
Difficile quindi gestire la cosa efficacemente. Diciamo che per certi miei esperimenti talvolta utilizzavo delle reti RC o casini logici strani per far si che i cambi veloci di stato venissero ignorati dai circuiti collegati, tanto per controllare un dispositivo lento non è importante che il comando per la porta si propaghi in nanosecondi, no?
Se però a te va bene lo stesso e per la maggior parte del tempo lo stato logico rimane a livello alto invece che basso, non è che ti convenga semplicemente invertire l'uscita in modo hardware collegandoci, appunto, un normale inverter?
Oppure usare 2 bit, uno per attivare un flip-flop ed un altro per resettarlo? In tal modo potrebbe esserci maggior immunità da parte di impulsi strani che potrebbero girare per questa porta.