void DAC_initialisierung(void) { schleife (0x0060); //DAC aus Standby holen uart_putc('\n'); uart_putc('\r'); schleife (0x4110); //DAC initialisieren uart_putc('\n'); uart_putc('\r'); schleife (0x4210); uart_putc('\n'); uart_putc('\r'); schleife (0x4310); uart_putc('\n'); uart_putc('\r'); schleife (0x4410); uart_putc('\n'); uart_putc('\r'); schleife (0x4510); uart_putc('\n'); uart_putc('\r'); schleife (0x4610); uart_putc('\n'); uart_putc('\r'); schleife (0x4710); uart_putc('\n'); uart_putc('\r'); schleife (0x4810); //DAC*/ uart_putc('\n'); uart_putc('\r'); } //------------------- //DATENÜBERTRAGUNG //------------------- void schleife (int hexzahl) { int k, l=0, m=1; _delay_us(400); PORTB |= (1 << PB2); //LDAC high PORTB &=~(1<-1;k--){ l=k; while(l){ m = m*2; l--; } if (k==0){ m=1; } if (hexzahl&m){ PORTA |= (1 << PA0); //Clock Signal _delay_us(100); PORTB |= (1 << PB0); PORTA &=~ (1 << PA0); _delay_us(300); //_delay_us(100); //uart_putc('1'); } else{ PORTA |= (1 << PA0); //Clock Signal _delay_us(100); PORTB &=~(1 << PB0); PORTA &=~ (1 << PA0); _delay_us(300); //_delay_us(100); //uart_putc('0'); } m=1; //delay_ms(1); /*PORTA |= (1 << PA0); //Clock Signal _delay_us(100); PORTA &=~ (1 << PA0); _delay_us(100); */ } _delay_us(500); PORTB |= (1 << PB1); //FSIN high //_delay_us(100); PORTB &=~(1 << PB2); //LDAC low _delay_us(100); PORTB |= (1 << PB2); //LDAC high _delay_us(300); }