Wenn das hier so ist, wie in echtem ANSI C, dann solltest du erstmal die verwendeten Variablen initialisieren.

Code:
int i = 0;
.
.
.
unsigned char taster = 0;
Ob das allerdings dein Problem behebt, wage ich zu bezweifeln.