Hallo, ich bin Anfänger in Sachen MC Programmierung. Ich hoffe mir kann einer weiterhelfen. Ich habe folgendes Problem. Ich möchte mit einem Atmega32 einen 16 Bit Zähler auslesen. Die Daten gehen an die Ports A und B. Dabei steht PA0 für das niederwertige und PB7 für das höchstwertige Bit. Kann mir bitte einer ungefähr sagen wie ich diese Leitungen auslesen kann, so dass ich nachher einen einzigen Zahlenwert der Wertigkeit bekomme? Das wäre echt super! Ich habe keine Vorstellung wie man das realisieren kann. Vielen Dank schonmal! Gruß Thomas
so einfach geht das´? Was passiert denn in den Schritten bei << und | `?
>Was passiert denn in den Schritten bei << und | `?
Dazu besorge man sich ein C-Buch.
<< ist eine shift operation, d.h es wird nach rechts oder links "geshiftet" | ist ein logischen oder im klartext liest du erst PINB in eine 16 bit Variable und schiebst alles um 8 bit nach rechts, dann nimmst du das Ergebnis und verknüpfst es ODER mit PINA, dadurch steht nun in den unteren 8Bit dein PINA
Ja nach meinen Kenntnissen heißt das aber: Eine 8 an Pinb schreiben und | bedeutet normal Oder? Also für mich gibt das keinen Sinn. Habe mir auch dazu das AVR-GCC-Tutorial durchgelesen. Bitte Sagen Sie mir doch noch was der Befehl auf sich hat...damit wäre mir sehr geholfen! Danke
Da habe ich gerade wohl zu spät gepostet! Dankeschön für die Erklärung !!! Jetzt weiß ich wie ich es zu machen habe. Wenn mans weiß ist es ja total simpel ...aber als Anfänger muss man darauf erst mal kommen!
>Eine 8 an Pinb schreiben und | bedeutet normal Oder? >Also für mich gibt das keinen Sinn. Wie oben schon geschrieben: Dir fehlen C-Grundlagen. "|" ist das binäre "oder" und "||" das logische. Dann gibt es "<<" das ist eine Operation auf eine Variable . Hierbei wird auf Bitebene der Inhalt der Variablen (in diesem Fall PINB) um die Anzahl der angegeben Stellen (8) nach links verschoben. Das Gegenstück wäre ">>", was ein Rechstverschieben macht. Klammern sollten dir ein Begriff sein. Die Ausführungsreihenfolge hat gast schon beschrieben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.