Difference between revisions of "U23 2008-2/Gruppe3"
(→Abend 2:) |
(→Abend 2:) |
||
Line 14: | Line 14: | ||
Legende: ~ ist Negation, & logisches UND, | logisches ODER | Legende: ~ ist Negation, & logisches UND, | logisches ODER | ||
− | |||
*Beispiel: | *Beispiel: | ||
+ | <source=c> | ||
PC3 00100000 | PC3 00100000 | ||
~PC3 11011111 | ~PC3 11011111 | ||
Alter Beispielwert: 10100110 | Alter Beispielwert: 10100110 | ||
Ergebnis Alt & ~PC3: 10000110 | Ergebnis Alt & ~PC3: 10000110 | ||
− | + | </source> | |
'''IR LED-Blinker''' | '''IR LED-Blinker''' |
Revision as of 21:52, 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=c>
PC3 00100000
~PC3 11011111 Alter Beispielwert: 10100110 Ergebnis Alt & ~PC3: 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>