Difference between revisions of "U23 2008-2/Gruppe3"
(→Teilnehmer:) |
|||
Line 10: | Line 10: | ||
== '''Abend 2:''' == | == '''Abend 2:''' == | ||
− | Memo | + | Binäre Operatoren (einzelne Bits modifizieren): |
− | Legende: ~ ist Negation, & logisches UND, | logisches ODER | + | Memo was <code>DDRC &= ~_BV(PC3)</code> bedeutet:<br /> |
− | + | Legende: ~ ist Negation, & logisches UND, | logisches ODER<br /> | |
+ | <br /> | ||
Beispiel: | Beispiel: | ||
<source lang=c> | <source lang=c> |
Revision as of 21:34, 27 October 2008
Teilnehmer:
- David (der von weit her)
- Vincent (das schwarze schaf der apple familie)
- Christian (asus notebook)
- André (der ohne beschreibung)
Abend 1:
Abend 2:
Binäre Operatoren (einzelne Bits modifizieren):
Memo was DDRC &= ~_BV(PC3)
bedeutet:
Legende: ~ ist Negation, & logisches UND, | logisches ODER
Beispiel:
<source lang=c>
PC3 00100000
~PC3 11011111 & mit ALT: 10100110 Ergebnis: 10000110 </source>
IR LED-Blinker
<source lang=c>
- include <avr/io.h>
int main(void) { /* unset PC3 -> IR_IN ist Input */
DDRC &= ~_BV(PC3);
/* set PC4 -> Output für LED1 */ DDRC |= _BV(PC4);
while (1) { /* Wenn PIN kein Eingang verzeichnet :wird */ if (PINC & _BV(PC3)) { /* unset PC4 -> LED1 aus */ PORTC &= ~_BV(PC4); } /* Wenn PIN EIngang verzeichnet */ else { PORTC |= _BV(PC4); } } } </source>