AD-128160-UARTでmbedのFlashに置いた128x128の16bit bitmap画像を表示してみたプログラムです。 === image === {{http://farm8.staticflickr.com/7008/6497076427_b531626b5b.jpg}} === circuit === {{http://farm8.staticflickr.com/7164/6498120233_a004e4fe29.jpg}}
main.cpp
00001 #include "mbed.h" 00002 #include "AD128160.h" 00003 00004 #define DATA_SIZE 128*128 00005 00006 LocalFileSystem local("local"); 00007 AD128160 lcd(p9,p20); 00008 00009 int rgb565(int r, int g,int b) 00010 { 00011 int rgb; 00012 00013 rgb = (r & 0xF8) << 8; /* RRRRR----------- */ 00014 rgb |= (g & 0xFC) << 3; /* -----GGGGGG----- */ 00015 rgb |= b >> 3; /* -----------BBBBB */ 00016 00017 return rgb; 00018 } 00019 00020 int main() { 00021 FILE *fpi; 00022 int i; 00023 unsigned char idat; 00024 unsigned char dat,dat2; 00025 //lcd.speed(115200); 00026 //lcd.speed(230400); 00027 lcd.speed(460800); 00028 00029 if ((fpi=fopen("/local/sample.bmp", "rb")) == NULL) { 00030 fprintf(stderr, "input file open error\n"); 00031 exit(1); 00032 } 00033 00034 for (i=0;i<0x46;i++)//bitmap headder throw 00035 fread(&idat, sizeof(unsigned char), 1, fpi); 00036 00037 for(int i=0;i<128;i++){ 00038 for(int j=0;j<128;j++){ 00039 fread(&dat, sizeof(unsigned char), 1, fpi); 00040 fread(&dat2, sizeof(unsigned char), 1, fpi); 00041 00042 int rgb=dat | dat2<<8; 00043 lcd.color(rgb); 00044 lcd.pixel(i,j); 00045 } 00046 } 00047 00048 }
Generated on Thu Jul 14 2022 03:45:39 by 1.7.2