Dieser Code
1 | _delay_ms(1); |
2 | int i = 0; |
3 | |
4 | int bit; |
5 | int byte = 0; |
6 | int c = 1; |
7 | while(i < 8) { |
8 | bit = get_bit(); |
9 | _delay_ms(1); |
10 | byte = byte + bit*c; |
11 | i++; |
12 | c *= 2; |
13 | }
|
14 | |
15 | uart_puts(intToString(byte, 4)); |
tut auch, was er soll. Wenn ich aber dies
1 | _delay_ms(1); |
2 | int i = 0; |
3 | |
4 | int bit; |
5 | int byte = 0; |
6 | int c = 1; |
7 | while(i < 8) { |
8 | bit = get_bit(); |
9 | _delay_ms(1); |
10 | byte = byte + bit*c; |
11 | i++; |
12 | }
|
in eine Funktion packe und dies durch die uart_puts aufrufen lasse, kriege ich ein falsches Ergebnis. PS: Der Code funktioniert auch nur mit den _delay_ms(1); aufrufen korrekt :(