Gast
#100457
Halli hallo nochmal an Alle!
Und zwar bin ich auf folgendes Problem gestoßen. Ich bekomme an einem
Eingang (PORTC, PIN=0) serielle Daten. Diese möchte ich nun bitweise
einlesen und abspeichern.
Meine Idee sieht so aus:
for (BitCounter=0;BitCounter<80;BitCounter++)
{
Speicher[ChipIdBitCounter] = inp(PINC);
}
Speicher[]ist ein int array....nur so wird ja immer der ganze Port
gelesen und abgespeichert oder? Welche Lösung nimmt man überlicherweise
für so ein Problem. Hab schon diese Funktion gefunden,
for (j=0;j<=7;j++) //Schleife zum einlesen der 8 Bits
{
daten<<=1; // Variable einmal schieben
if ( bit_is_set(PIND,2) // Prüfen ob Bit = 1
{ daten++;} //wenn Bit = 1 dann Daten + 1. LSB wird dann 1
}
aber ich versteh ich nicht so recht und denke auch nicht das es bei mir
so funktioniert. Wer hat Vorschläge und Lösungen. Wäre Euch sehr
dankbar.
Ciao Thomas