Difference between revisions of "U23 2008/Gruppe2"

From C4 Wiki
Jump to: navigation, search
(New page: = Gruppe 2 = Gruppenchat: u23group2@conference.koeln.ccc.de Also einfach einen Jabber Account bei jabber.ccc.de einrichten und schon gehts los. Wer zum Beispiel einen Gmail-Account hat,...)
 
(Sourcecode vom ersten Projektabend:)
Line 25: Line 25:
 
===Sourcecode vom ersten Projektabend: ===
 
===Sourcecode vom ersten Projektabend: ===
  
 
+
#include <avr/io.h>
/*muss noch eingefügt werden*/
+
#include <util/delay.h>
 +
 +
uint8_t globalconfig;
 +
 +
static void led_control(uint8_t mode, uint8_t* sequence, uint8_t size, uint16_t delay) {
 +
        switch (mode) {
 +
                case 0: //rechtsshift
 +
                       
 +
                        break;
 +
                case 1: //linksshift
 +
                       
 +
                        break;
 +
                default:
 +
                        for(uint8_t = 0; i<size; i++) {
 +
                                ledset(sequence[i]);
 +
                                mydelay(delay);
 +
                        }
 +
        }
 +
}
 +
//Uebergabe ist die gewuenschte LED Konfiguration, die gesetzt werden soll
 +
//Die Konfiguration wird als Binaerzahl uebergeben wobei nur die letzten vier stellen ausgewertet werden
 +
static void ledset(uint8_t config) {
 +
        globalconfig=config;
 +
        PORTC=(config&0x01)<<PC4;
 +
        PORTD=((config&0x02)<<(PD3-1))|((config&0x04)<<(PD6-2))|((config&0x08)<<(PD7-3));
 +
}
 +
 +
//Delay in ms
 +
static void mydelay(uint16_t delay){
 +
        uint16_t i;
 +
        for (i = 0; i < delay; i++) {
 +
                /* wait 4 * 65536 cycles */
 +
                _delay_loop_2(5000);
 +
        }
 +
}
 +
 +
void main(void) {
 +
        //Port Direction config
 +
        DDRC = _BV(PC4); /* == 1<<7 == 128 */
 +
        DDRD = _BV(PD3)|_BV(PD6)|_BV(PD7); /* == 1<<7 == 128 */
 +
       
 +
        uint8_t bla=0;
 +
        //Blinkschleife
 +
        while(1) {
 +
                ledset(bla);
 +
                mydelay(500);
 +
                bla++;
 +
        }
 +
}

Revision as of 08:22, 19 August 2008

Gruppe 2

Gruppenchat:

u23group2@conference.koeln.ccc.de

Also einfach einen Jabber Account bei jabber.ccc.de einrichten und schon gehts los. Wer zum Beispiel einen Gmail-Account hat, hat selbst schon einen Jabber Account und kann damit loslegen.

Mitglieder:


-...(Hier eure Namen eintragen)
-...(Hier eure Namen eintragen)
-...(Hier eure Namen eintragen)
-...(Hier eure Namen eintragen)
-Lind (Bene) (ca. 190 groß, kurze Haare, schwarzes HardRock Cafe Shirt)





Sourcecode vom ersten Projektabend:

#include <avr/io.h>
#include <util/delay.h>

uint8_t globalconfig; 

static void led_control(uint8_t mode, uint8_t* sequence, uint8_t size, uint16_t delay) {
        switch (mode) {
                case 0: //rechtsshift
                        
                        break;
                case 1: //linksshift
                        
                        break;
                default:
                        for(uint8_t = 0; i<size; i++) {
                                ledset(sequence[i]);
                                mydelay(delay);
                        }
        }
} 
//Uebergabe ist die gewuenschte LED Konfiguration, die gesetzt werden soll
//Die Konfiguration wird als Binaerzahl uebergeben wobei nur die letzten vier stellen ausgewertet werden
static void ledset(uint8_t config) {
        globalconfig=config;
        PORTC=(config&0x01)<<PC4;
        PORTD=((config&0x02)<<(PD3-1))|((config&0x04)<<(PD6-2))|((config&0x08)<<(PD7-3));
}

//Delay in ms
static void mydelay(uint16_t delay){
        uint16_t i;
        for (i = 0; i < delay; i++) {
                /* wait 4 * 65536 cycles */
                _delay_loop_2(5000);
        }
}

void main(void) {
        //Port Direction config
        DDRC = _BV(PC4); /* == 1<<7 == 128 */
        DDRD = _BV(PD3)|_BV(PD6)|_BV(PD7); /* == 1<<7 == 128 */ 
        
        uint8_t bla=0;
        //Blinkschleife
        while(1) {
                ledset(bla);
                mydelay(500);
                bla++;
        }
}