Micom_Electric/GLCD_CLCD_TFT 2012. 1. 21. 23:01
GLCD의 기초
 http://blog.daum.net/somsoo/13717301 
에 보면 GLCD는 좌상단에서 8비트를 위에서 아래로 쓰고 왼쪽 이동후 8비트를 위에서 아래로
따라서 비트맵 폰트 배열 만들때와 그릴때 이점에 주의

툴 : Image2GLCD   http://www.avrportal.com/?page=image2glcd  

코드 : i = x축,  j = y축 <-- 8비트씩 세로로 써진다
// ----------------------------------------------------------------------------
// GLCD - left Top to down 8 bit, then next top to down 8 bit ...
void GLCD_Bitmap(
char * bmp, unsigned char x, unsigned char y, unsigned char dx, unsigned char dy)
{
unsigned char i, j;
for(j=0; j<8; j++){
for(i=0; i<dx; i++){
lcd_move_cursor(i, j*8);
lcd_write_data(i/64, pgm_read_byte(bmp++));
}
}
추가로 그래픽 함수를 위한 점찍는 기능 수정
// ----------------------------------------------------------------------------
void GLCD_SetPixel(unsigned char x, unsigned char y, unsigned char color){
unsigned char tmp;
lcd_move_cursor(x, y);
tmp = lcd_read_data(y);
lcd_move_cursor(x, y);
tmp = lcd_read_data(y);
lcd_move_cursor(x, y);
tmp |= (1 << (y % 8));
//lcd_write_data(x/64, tmp);
lcd_display_dot(NO, x, y, tmp);

}

다른 라이브러리 사용시
//-------------------------------------------------------------------------------------------------
void GLCD_Bitmap(char * bmp, unsigned char x, unsigned char y, unsigned char dx, unsigned char dy)
{
unsigned char i, j;
for(j = 0; j < dy / 8; j++)
{
GLCD_GoTo(x,y + j);
for(i = 0; i < dx; i++)
GLCD_WriteData(GLCD_ReadByteFromROMMemory(bmp++));
}
}
//-------------------------------------------------------------------------------------------------

 
posted by 털보네i
: