Article View: be.comp.programming
Article #15783Statusport byte naar bits converteren.
From: RedX
Date: Wed, 16 Aug 2000 00:00
Date: Wed, 16 Aug 2000 00:00
37 lines
2144 bytes
2144 bytes
Ik zit al een tijd met dit probleem. ik lees een byte in van de Statuspoort van LPT1 ( C: byte = inp(poortadres); Pascal: byte := port[poortadres];) maar deze heeft andere waarden dan een byte ingelezen van een andere poort: Er worden maar 5 bits gebruikt: 8,16,32,64 en 128. bits 8,16,32 en 64 zijn geinverteerd: ze hebben een waarde van -8, -16, -32 en -64. bit 128 is normaal. daarbij wordt er ook nog 127 bij de waarde van de byte geteld. Tot nu toe heb ik alle de 4 geinverteerde bits kunnen "losmaken" van de byte. als ik de 5de probeer geeft dit verkeerde resultaten. Het algoritme dat ik hiervoor gebruik is: (in pseudo-code) lees BYTE BYTE - 127 absolute waarde van BYTE BIT1 = (BYTE en 8) / 8 BIT2 = (BYTE en 16) / 16 BIT3 = (BYTE en 32) / 32 BIT4 = (BYTE en 64) / 64 BIT5 = (BYTE en 128) / 128 Dit werkt correct maar als ik een bit5 een 1 zou krijgen, geeft dit verkeerde waarden. Weet iemand een betere manier hiervoor? Op deze manier kan ik maar 4 bits invoer gebruiken op LPT1. RedX -- ---------------------------------------------------------------------------- ------------ A man's greatest work is to break his enemies, to drive them before him, to take from them all the things that have been theirs, to hear the weeping of those that cherished them, to take their horses between his knees and press in his arms the most desirable of their women. ---------------------------------------------------------------------------- ------------
Technical Details
Message-ID:
<8nekll$iv2$1@news.planetinternet.be>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,a3337484a0f4caf0,start X-Google-Attributes: gidfcea4,public From: "RedX" <RedX@mail.dma.be> Subject: Statusport byte naar bits converteren. Date: 2000/08/16 Message-ID: <8nekll$iv2$1@news.planetinternet.be> X-Deja-AN: 659016350 X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 X-Complaints-To: abuse@planetinternet.be X-Trace: news.planetinternet.be 966448629 19426 212.239.130.157 (16 Aug 2000 17:57:09 GMT) Organization: Planet Internet NV X-MSMail-Priority: Normal NNTP-Posting-Date: 16 Aug 2000 17:57:09 GMT Newsgroups: be.comp.programming