Hallo,
ich hoffe es kann mir jemand helfen. Es besteht das Problem, das die
unten stehende Funktion in einer Endlosschleife hängt, und ich kann mir
nicht erklären warum das so ist. Es sollen lediglich 3 Bit taktgesteuert
übermittelt werden. Mit PD3 takte ich, und mit PD2 übertrage ich die
drei Bit
1 | void sendData(unsigned char wert){
|
2 | char i;
|
3 |
|
4 |
|
5 | for(i=2;i>=0;i--)
|
6 | {
|
7 |
|
8 | PORTD &=~(1<<PD3);
|
9 |
|
10 | if((wert>>i) & 0x01 )
|
11 | PORTD |= (1<<PD2);
|
12 | else
|
13 | PORTD &=~(1<<PD2);
|
14 |
|
15 | uart_putc('F'); // Nur für Debug zwecke
|
16 | _delay_us(10);
|
17 | PORTD |= (1<<PD3);
|
18 | _delay_us(10);
|
19 |
|
20 | }
|
21 | }
|
Aufruf
Vielen vielen Dank im voraus für die Unterstützung.