www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pegel am Pin in ein Byte lesen


Autor: St.Norbertus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich bin sicher, das ist schon mal diskutiert worden - aber wo finde ich
das nur?

Also, an einen Pin vom mega64 steht von extern ein serieller Datenstrom
an. Der Clock hierzu wird vom mega64 geliefert. Die Daten, die ankommen,
müssen in einer Variablen(Byte) abgelegt werden.

Mein Problem ist, wie füge ich die einzelnen Pin-Informationen in meine
Variable ein.

Mein Compiler: CodeVision

Schönen Gruß Norbert

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus dem Kopf (ungetestet):

uint8_t
getbyte(void)
{
    unit8_t bitcnt = 0, retval = 0;

    for(bitcnt = 0; bitcnt < 8; bitcnt++)
    {
        retval <<= 1;

        if(PINx & (1 << Pxx))
            retval |= 1;
        else
            retval &= ~1;
    }

    return retval;
}

Autor: St.Norbertus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo OldBug,

besten Dank, für diesen Code. Werde den übers Wochenende austesten.
Da ich, evtl., auch eine ulong-Variable beschreiben möchte, kann ich
den Code ja leicht anpassen.


Schönen Gruß Norbert

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richtig, einfach die schleife und die Datentypen anpassen!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.