uh wie peinlich, der fehler ist so offensichtlich, dass ich ihn ne halbe stunde lang übersehen habe, es muss natürlich heißen
Code:
void lcd_circle(unsigned char x, unsigned char y, unsigned char r){
signed char Y=r, X=0;
signed char F = 1-r;
lcd_setdot(x , y+r);
lcd_setdot(x+r , y);
lcd_setdot(x-r , y);
lcd_setdot(x , y-r);
while(X<Y){
X++;
if(F<0) F= F + 2*X - 1;
else {
F= F + 2*(X - Y);
Y--;
}
lcd_setdot(x+X , y+Y);
lcd_setdot(x-X , y+Y);
lcd_setdot(x+X , y-Y);
lcd_setdot(x-X , y-Y);
lcd_setdot(x+Y , y+X);
lcd_setdot(x-Y , y+X);
lcd_setdot(x+Y , y-X);
lcd_setdot(x-Y , y-X);
}
}
sorry für den überflüssigen post. aber vllt interessierts ja jemanden, der sich auch mit glcds beschäftigt
Lesezeichen