Datum: 17.05.2008 12:30
hallo lieben forenbesucher, ich würde mich mal gern mal erkundigen, ob man das setzen und löschen von bits bei den ports auch einfacher gestalten kann, wenn man beispielsweise die portpins eines mega8s als eingang und ausgang schalten will und zugleich ausgänge high und low schalten will und bei eingängen pullups ein und aus schalten will??? ich suche quasi bitoperatoren (c++) die mir das setzen und löschen von bits ermöglichen, ohne den vorherigen zustand der anderen pins zu beeinflussen. Zur Zeit weise ich jedesmal alle pins eines ports neu zu und das ist mühselig, wenn ein port ein und ausgänge beinhaltet. vielen Dank schon mal für eure Beiträge gruss flo
Datum: 17.05.2008 12:36
An Port B zusätzlich PB4 und PB6 setzen: PORTB |= (1<<PB4) | (1<<PB6); An Port B die Bits PB4 und PB6 löschen: PORTB &= ~( (1<<PB4) | (1<<PB6) ); Das Gleiche gilt auch für alle anderen Register und Bits. Und damit hier kein Gemecker aufkommt, noch der Hinweis auf Artikelsammlung ;-) Gruß & schönes Wochenende, Thomas
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel