ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
189825
silver (16.04.2010 17:29, просмотров: 5886)
Посоветуйте, как лучше делать закрашивание экрана граф. ЖКИ, то-есть начинаю построчно закрашивать, параллельно опрашивая экран, если натыкаюсь на уже зажженный бит-перехожу на следующую строку и т.д. Мой код вроде работает, но как можно сделать лучше? while (1) { PutPixelXYLCD(m,n,1);//зажигаю точку по определенному адресу, m-положение х, n-у m++; while (readLCD(m+6,n)==0x00)// опрашиваю следующий байт, если пустой-продолжаю штриховать { if (m==240){m=0;n++;}; if (n==128){n=0;}; PutPixelXYLCD(m,n,1); m++; }; r=m+6; o=m; if (readLCD(r,n)&0x20)//если последний бит в следующем байте зажжен, закрашиваю текущий байт до конца и перехожу на след. строку {while (readLCD(o,n)!=63){PutPixelXYLCD(m,n,1); m++; } } if (readLCD(r,n)&0x10)// далее поочередно опрашиваю все биты {while (readLCD(r,n)!=0x30) {PutPixelXYLCD(m,n,1); m++;} } else if (readLCD(r,n)&0x08) {while (readLCD(r,n)!=0x38) {PutPixelXYLCD(m,n,1); m++;} } else if (readLCD(r,n)&0x04) {while (readLCD(r,n)!=0x3c) {PutPixelXYLCD(m,n,1); m++;} } else if (readLCD(r,n)&0x02) {while (readLCD(r,n)!=0x3e) {PutPixelXYLCD(m,n,1); m++;} } else if (readLCD(r,n)&0x01) {while (readLCD(r,n)!=0x3f) {PutPixelXYLCD(m,n,1); m++;} } m=90; n++;}