Hallo,
ich bin ein bisschen ratlos, folgende Beispiele
funktionieren bei meinem Attiny13 nicht und ich
weiss nicht warum:
1 | void blub(){
|
2 | PORTB= 1;
|
3 | }
|
4 |
|
5 | int main(){
|
6 | DDRB = 1;
|
7 | blub();
|
8 | while(1){}
|
9 | }
|
Soweit hab ichs runterreduziert...
Es fing damit aber an:
1 | void blub(volatile uint8_t *prt){
|
2 | *prt = 1;
|
3 | }
|
4 |
|
5 | int main(){
|
6 | DDRB=1;
|
7 | blub(&PORTB);
|
8 |
|
9 | [...]
|
10 | }
|
Verpack ich die Funktionen allerdings nochmal
in eine Funktion, also:
Und rufe foo() dann auf, dann funktioniert es...
Das verwundert mich, eine Eigenheit von avr-c?
Wie funktioniert das Ganze?
lg