daten bitweise einlesen

Gast #343444
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
Gast #343445
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
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.