Versturen Byte naar specifieke poorten PIC in PICBASIC

Stel ik wil een byte aan info sturen naar 2 pootjes van 1 poort. (portA.4 en PortA.5)
Kan ik dit dan als volgt aangeven?


info = voorraad &48 ;(110000) 

Of krijg ik problemen omdat die A-poorten niet verder gaan dan 6 bits?

Opzet is een BCD naar de poorten A0 t/m A3 te sturen (voorraad &15)
En een tweede BCD reeks (die nooit verder komt dan "3" (0011)) naar de overgebleven A-poorten A4 en A5

Subtiel kickje?
Ik kan ook specifiek aangeven welke poort hoog moet worden onder bepaalde omstandigheden, maar volgens mij kan dat beter... :-)

Wat je kunt doen is eerst je tweede BCD reeks in PORTA zetten en 4 plaatsen left shiften, daarna je eerste BCD reeks erbij OR-en:
voorbeeld:


PORTA = (waarde van tweede BCD-reeks) << 4   'Je tweede BCD reeks en 4 plaatsen naar links shiften
PORTA = PORTA | (voorraad &15) 'je eerste BCD reeks erbij plaasten d.m.v. OR

Volgens mij moet dat zo lukken, ik heb dit echter niet getest...

Zoiets had ik ook in gedachten, Monty!

@Fantomaz:
Ik herinner me dat je zoiets zo'n half jaar geleden ook al gevraagd hebt.
Heb toen uitleg gegeven.
Zoek nog eens op het forum naar je eigen naam.

Ik zou het dus ook zo kunnen aanpakken?:

DIM tientallen as byte
DIM eenheden as Byte

PortA= eenheden
PortB= tientallen <<4

Dus 1 byte aan eenheden wordt rechts geplaatst
de andere Byte links. ondanks dat deze Apoort maar 6 bits heeft!
De "tientallen" byte zal nooit groter worden dan %0011 (3)
Maar dat weet de Programmer niet! Hoe reageert deze wanneer ik dit wil proggen??

Wat bedoel jij verder met OR? Dat is toch "of"?
De opzet is dat ze tegelijk weergegeven worden. Of ik begrijp je niet...

Op 22 maart 2006 19:37:39 schreef Frits Kieftenbelt:
Zoiets had ik ook in gedachten, Monty!

@Fantomaz:
Ik herinner me dat je zoiets zo'n half jaar geleden ook al gevraagd hebt.
Heb toen uitleg gegeven.
Zoek nog eens op het forum naar je eigen naam.

Dat klopt Frits.
Alleen had ik toen 8bits tot mijn beschikking. De tweede byte ging naar links, waar er ook ruimte voor is.
Het verschil nu: Door omstandigheden moet ik een 8bits poort opgeven en ik krijg er een 6 bits voor terug.
Dus als ik een byte heb die ik kwijt wil op die laatste twee bits, kan dit niet hoger worden dan 0011. 3 dus.
Accepteerd de PIC/de Progger/PICBasic dit, wanneer ik het wil proggen?
Ik kan me voorstellen dat er een belletje gaat rinkelen omdat er 4 bits weggezet moet worden terwijl er maar 2 beschikbaar zijn...

Ik denk dat dat wel goed gaat, de overige bits vallen gewoon weg.
Maar experimenteer er op los zou ik zeggen.
De PIC zal er heus niet van stuk gaan.

(Overigens is de link:
Fantomaz en PIC Basic )

Op 22 maart 2006 19:49:43 schreef Frits Kieftenbelt:
Ik denk dat dat wel goed gaat, de overige bits vallen gewoon weg.
Maar experimenteer er op los zou ik zeggen.
De PIC zal er heus niet van stuk gaan.

(Overigens is de link:
Fantomaz en PIC Basic )

Ja, ik had hem recentelijk ook al doorgenomen omdat ik vastliep met de poortindeling.

Wat dat experimenteren betreft. Ik moet eerst alle zaken op een rijtje hebben in mijn hoofd (begrijpen), anders wordt ik horendol en val ik in slaap achter de PC.
En het lullige van dit alles is, dat ik het nog meen ook... :-(
Ik verlies gemakkelijk het overzicht als ik het onvoldoende begrijp.