Motta biter fra lpt til pic

I

irmus

Guest
Hallo.
Jeg bruker SPP modus LPT.Jeg leste en bit fra LPT eksempel 1 Jeg får neste bit eksempel 0 til alle få alle 8 bits.How lagre alle bitene i en "byte"-variabelen.Jeg bruker Picbasic kompilatoren.
Takk

 
Vel en skitten måte å gjøre dette på er å lagre bit du mottar i sin egen variabel.Så du
vil ha en "for loop" som looped 8 ganger og logisk "eller" den lpt bit med loop teller.Jeg vet ikke pic grunnleggende syntaks, men C-koden vil se omtrent slik ut:

byte_value = 0; / / stille byte til 0
for (ii = 0x80; i> 0x00; ii / 2) (/ / loop 8 ganger

if (lpt_bit == 1) (
byte_value = (byte_value | ii) / / hvis bit er 1 eller byte med loop teller
)
...
)

Denne første gangen via loop, dette tar lpt bits og 'eller
er det med 10000000b.Neste gang gjennom loopen det eller
er det med 01000000b osv. Etter 8 ganger,
og hver plass i byte blir 1 av biters verdier, med MSB i byte som er den første verdien du lest fra lpt havn.

Håper dette hjelper

 
Takk det gaffel OK!
Hvis jeg må byte i EPROM $
a0 og jeg vil sende til lpt?
Hvordan kan jeg (eksempel) får fra $
a0 til 10100000 i bilde og sende til lpt
Hjelp
Takk

 
Variabelen "verdi" ville være det byte i $ a0.Bruker du samme løkke (loop 8 ganger).

Code:unsigned char ii;

for (ii = 0x80; ii> 0; ii / = 2) / / shift bit for maskering

(

if (ii & value) (/ / hvis bit i $ a0 er en 1/ / send et 1 til LPT-port

)

else (/ / hvis bit i $ a0 er 0/ / sender en 0 til LPT-port

)

)

 
Takk.Mayby deg nå!I data fra pic leses med lpt pin 12 med kommandoen
(port1.port [$ 379] og $ 20) shr 5
Men hvordan data leses fra pic bruker pin 10?
Takk!

 

Welcome to EDABoard.com

Sponsor

Back
Top