Wie Register in unterprogramm übergeben? [Danke, erledigt]
Hi, ich brauche oft die funktion, dass ein programm auf einen tastendruck wartet.
Dazu habe ich mir das hier geschrieben:
Code:
void wait_for_key (uint8_t *inputreg, uint8_t inputbit)
{ do{}
while(bit_is_set(*inputreg, inputbit));
_delay_ms(50);
do{}
while(bit_is_clear(*inputreg, inputbit));
_delay_ms(50);
}
Aufruf:
int main (void)
{ ...
wait_for_key(PINC, 0);
...
}
Ich bekomme beim kompilieren keine errors, nur ein warning, dass ich einen pointer ohne cast mache. Ich habe keine Ahnung wo ich den cast hinmachen soll, aber ich glaube das ist sowieso nicht das einzige problem, ich denk da is was mit der übergabe des PIN-registers falsch.
Wenn ich das programm auf den microcontroller spiele, reagiert er einfach nicht auf den Tastendruck.
Könnt ihr mir sagen was an meinem programm falsch ist?
lg Christoph