Hallo Lunarman,

das Problem kann eventuell mit Bauteiletoleranzen zusammenhängen. Da hilft manchmal nur eine kleine Modifikation in der asuro.c.
Folgende Zeile findet sich:

return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 63.0 + 0.5));

Hier kann man mal versuchen, die 63.0 durch ein 64.0 zu ersetzen und evtl. auch die +0.5 wegzulassen.
Wenn's klappt, bitte Bescheid sagen!

CU, Robin