Je wilt dus mbv de poort bepalen of een (of meerdere) kanalen 'hoog' zijn? Da's heel makkelijk. Ik heb zoiets in Basic gedaan:
Je kunt mbv de statements 'OUT port, value' en 'value = INP(port)' getalletjes wegschrijven naar en inlezen van de poort. Op oude pc's (XT, 286) is het adres van de parallelle poort &H3BC, op 'nieuwere' pc's (dus ook 486) is het &H378.
De getalletjes kunnen variëren tussen 0 en 255. Iedere bit in dit getal stelt een hardware-lijntje in de poort voor. Je hebt dus 8 kanalen (0 t/m 7).
Hoe weet je nou welk kanaal 'hoog' is? Simpel: je gebruikt een kanaal als referentie, dus hou je 7 kanalen over om contacten op aan te sluiten. Je maakt je schakeling als volgt: Je referentiekanaal splits je in 7 draadjes en legt het naar ieder van de contacten. De overige 7 draden leg je ieder naar een kanaal. Als een contact kortsluiting maakt tussen de referentiedraad en de andere (contact)draad, zal de contactdraad ook 'laag' worden, aangezien de referentiedraad, als jij die laag maakt, verbonden wordt met aarde (0V).
Op de volgende manier kun je een 'poll' uitvoeren op de poort:
1) Maak alle kanalen behalve het referentiekanaal hoog. Ik neem als referentiekanaal nummer 0, het getal dat daarbij hoort is 2^0 = 1. Je schrijft dus 254 naar de poort: 'OUT &H378, 254'
2) Lees de waarde van de poort. De kortgesloten contacten hebben hun draadje 'laag' gemaakt: 'value = INP(&H378)'
Je kunt de waarde van de afzonderlijke draden bepalen door een bit-wise comparison:
dim draad(1 to 7) as integer
for r = 1 to 7 'Draad 0 doet niet mee want is de ref.draad.
draad(r) = 2 ^ r AND value
next r
Zo werkt het bij mij iig goed. Ik hoop dat dit is wat je bedoelde, anders heb ik het voor nop zitten typen...
O ja: je hebt dus geen speciale hardware nodig om zo te pollen. Je kunt gewoon 8 draadjes aansluiten op contacten 0-7 van een parallel connectortje (kost een riks ofzo)
Als je met de poort ook nog iets wilt aansturen dan moet je wel iets bouwen. Zelf heb ik mbv 8 triacs een kaartje gebouwd waarmee ik 8 kanalen van 230V kan aansturen. Best tof, als lichtcomputer!
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1