Forum: Mikrocontroller und Digitale Elektronik daten bitweise einlesen


von hanswurst (Gast)


Lesenswert?

hi leuts
ich möchte daten mit einen clock bitweise über einen port einlesen
und sie anschließend in einen integer schieben.
if (P1.0 & 0x01)  //es wir nur ein bit angesprochen
{
a = a + 1;
a = a << 1;
}
else
{
a = a + 0;
schieberegister = schieberegister << 1;
}

könnte das so funzen
mfg

von MasterFX (Gast)


Lesenswert?

Warum probierst du es nicht aus?
ABER, wenn du schon P1.0 machst (geht das überhaupt?) dann brauchst du
ja nicht mehr "& 0x01" machen, weil du mit P1.0 schon das erste Bit
ansprichst. Ich würde es bei meinem Atmel so machen
1
int ein_wert=0;
2
char i;
3
4
for(i = 0; i < 16; i++){  //<<Ok das würde jetzt nicht der Clock sein
5
  if(PORTA & 0x01)
6
    ein_wert |= 0x01;
7
  ein_wert <<= 1;
8
}

von werner holt (Gast)


Lesenswert?

Hallo hansi,

warum mal 'a' und mal 'schieberegister'? Ansonsten klappts,
wenn'(P1.0 & 0x01)' von deinem Compiler richtig umgesetzt wird, bzw.
richtig definiert wurde!

Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.