Difference between revisions of "U23 2008-2/Gruppe3"
(→Abend 2:) |
(→Abend 2:) |
||
Line 20: | Line 20: | ||
& mit ALT: 10100110 | & mit ALT: 10100110 | ||
Ergebnis: 10000110 | 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> | </source> | ||
Revision as of 21:31, 27 October 2008
Teilnehmer:
- Andreas (der von weit her)
- Vincent (das schwarze schaf der apple familie)
- Christian (asus notebook)
- André (der ohne beschreibung)
Abend 1:
Abend 2:
Memo wie DDRC &= ~_BV(PC3) funktioniert ... 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>