Difference between revisions of "U23 2008-2/Gruppe3"

From C4 Wiki
Jump to: navigation, search
(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>

  1. 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>

Abend 3:

Abend 4:

Abend 5:

Abend 6: