Dag mensen,

Sinds enkele weken ben ik bezig met het ontvangen
en verzenden van bits. Wat ik nu wil doen is het
volgende:

om de +/- 10msec wordt er een bit (1 of 0) naar de RX-pin
van mijn pic16f628 gestuurd. ik wil graag deze bits
opslaan in een char. dus elke keer als er een bit
ontvangen wordt moet deze opgeslagen worden in de char.

op het einde wil ik deze char kunnen uitlezen. Ik zat
te denken aan logical shift left.. maar ik weet niet precies hoe dat moet

wie kan mij hiermee helpen?

alvast bedankt,
MeX

taal = C

het zal iets in de trend zijn van:

char = (bit << 1);

dus elke keer wordt de bit 1 naar links geschoven

greetz
MeX

Sorry ik kan geen C kan je dus helaas niet helpen

ik ken ook wel een beetje assembly.

ik moet alleen ff het principe begrijpen.

hoe zorg ik ervoor dat de ontvangen bit steeds 1 naar
links schuift zonder dat de hele inhoud van de char verdwijnt?

MeX out

met een AND functie?

dus haal bit op en schrijf deze weg naar een register
vervolgens doe Je een And met een tweede register(char)
resultaat opslaan in zelfde register
dan een Rotate Left volgende bit ophalen
counter mee laten lopen als de counter 8 is is char compleet complete char wegschrijven naar een 3e register en tweede register resetten zoiets moet het zijn

Op 10 februari 2003 21:49:42 schreef MeX:
ik ken ook wel een beetje assembly.

ik moet alleen ff het principe begrijpen.

hoe zorg ik ervoor dat de ontvangen bit steeds 1 naar
links schuift zonder dat de hele inhoud van de char verdwijnt?

MeX out

je leest die bit in
plaats die in een register , op de lsb
"rotate left" (is bij 8051 een commando, pic ken ik ni)
verhoog een teller
indien je teller = 8 heb je een bit

Hardstikke bedankt!
het werkt..

bits=1;
save = ( save | bits );
save = ( save << 1 );

bit wordt opgehaald, in save gezet en daarna wordt
alles 1 naar links geschoven!

mzzl
MeX

Op 10 februari 2003 22:06:39 schreef MeX:
Hardstikke bedankt!
het werkt..

bits=1;
save = ( save | bits );
save = ( save << 1 );

bit wordt opgehaald, in save gezet en daarna wordt
alles 1 naar links geschoven!

mzzl
MeX

dat heb je snel geprobeerd
suc6 verder