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}}

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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 }