Hej! Du får använda dlportio, kolla i exemplen. Här gäller det att hålla tungan rätt i munnen. hm... min hjärna var lite ur funktion, jag tänkte på bit 7 på data-porten jag... ;) Jag skickar signaler på pinne 4 och kopplar den till pinne 13 där jag tar emot signalerna med 889 och det funkar så jag är glad! :-) Du är duktig, bra lösning. Hmmm skulle vara mycket mycket kul om det kommer upp en liten artikel och det hur det fungerar med att skicka signaler in och ut från datorn så man kan göra en del trevliga saker utan att behöva köpa dyra saker som man inte fattar ett dug vad den gör :)Läsa av parallellporten???
Jag har ett litet program som skickar ut signaler på pinne 2-5 på parallellporten och det går bra. Men problemet är att jag skulle samtidigt vilja läsa om pinne 7 är aktiv.
Jag ska sätta en strömbrytare på pinne 2 och sen koppla den till pinne 7 och om strömbrytaren är på så ska en sak hända på datorn och om den är stängd så vill jag inte att något ska hända. Jag vill helt enkelt få olika signaler om den är på eller av!
Hoppas ni fattar.
//FredrikSv: Läsa av parallellporten???
Om du har ett tal och vill veta ifall en viss bit i talet är 1 eller 0 så gör du såhär:
öppna kalkylatorn och ta reda på vad den decimala motsvarigheten till det binära talet är.
För att ta reda på om bit 1 är 1 eller 0: talet and 1
För att ta reda på om bit 2 är 1 eller 0: talet and 2
För att ta reda på om bit 3 är 1 eller 0: talet and 4
För att ta reda på om bit 4 är 1 eller 0: talet and 8
osv.
dvs. plocka hela byten och kör med
if (det_du_plockade and 128)<>0 then
'hög
else
'låg
end ifSv: Läsa av parallellporten???
Du skriver pinne 7 det motsvarar att D5 är hög Programarkivet:Parallellport experiment
Då blir det som Onkel.. skriver
If (det du läser) And 32 Then (gör något nu är pinne 7 hög)
Sen är det ju en annan sak du måste tänka på för att kunna läsa
på D0 - D7 måste du ställa registret/porten i läsläge Dvs skicka 32 till adress 890.
Nu kan du läsa inkommande signaler på adress 888.
Edit:
Så här måste du göra skicka 0 till 890 Skriv till porten 888
skicka 32 till 890 Läs porten på 888
If (det du läser) And 32 Then (gör något nu är pinne 7 hög)
osv du måste "flippa" mellan det defaulta att skriva resp läsa 0 eller 32 till 890.
Jag skulle iofs inte använda pinne 7 bättre att använda statussignalerna
som alltid ligger i läsläge och finns på någon av pinnarna 10 11 12 13 15
Mitt förslag skippa pinne 7 byt till pinne 10 läs på adress 889Sv: Läsa av parallellporten???
Sv: Läsa av parallellporten???
//FredrikSv: Läsa av parallellporten???
Pinne 13 hämtar du på proffsigt sätt på adress 889 med
If (det du läser) And 16 Then (gör något nu är pinne 13 hög)
Du kanske läser om den inte är hög.
Då blir det
If (det du läser) And 16 = 0 Then (gör något nu är pinne 13 låg)
Enl min uppfattning skall du använda det sista.
Dvs du skall koppla pinne 13 till pinne 25 via ett 5 k motstånd när 4:an går hög.
Men oki du har bättre koll på hur det ser ut hos dig.Sv: Läsa av parallellporten???