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@0:0dcf639e09e9, 2011-12-12 (annotated)
- Committer:
- nucho
- Date:
- Mon Dec 12 04:08:09 2011 +0000
- Revision:
- 0:0dcf639e09e9
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nucho | 0:0dcf639e09e9 | 1 | #include "mbed.h" |
nucho | 0:0dcf639e09e9 | 2 | #include "AD128160.h" |
nucho | 0:0dcf639e09e9 | 3 | |
nucho | 0:0dcf639e09e9 | 4 | #define DATA_SIZE 128*128 |
nucho | 0:0dcf639e09e9 | 5 | |
nucho | 0:0dcf639e09e9 | 6 | LocalFileSystem local("local"); |
nucho | 0:0dcf639e09e9 | 7 | AD128160 lcd(p9,p20); |
nucho | 0:0dcf639e09e9 | 8 | |
nucho | 0:0dcf639e09e9 | 9 | int rgb565(int r, int g,int b) |
nucho | 0:0dcf639e09e9 | 10 | { |
nucho | 0:0dcf639e09e9 | 11 | int rgb; |
nucho | 0:0dcf639e09e9 | 12 | |
nucho | 0:0dcf639e09e9 | 13 | rgb = (r & 0xF8) << 8; /* RRRRR----------- */ |
nucho | 0:0dcf639e09e9 | 14 | rgb |= (g & 0xFC) << 3; /* -----GGGGGG----- */ |
nucho | 0:0dcf639e09e9 | 15 | rgb |= b >> 3; /* -----------BBBBB */ |
nucho | 0:0dcf639e09e9 | 16 | |
nucho | 0:0dcf639e09e9 | 17 | return rgb; |
nucho | 0:0dcf639e09e9 | 18 | } |
nucho | 0:0dcf639e09e9 | 19 | |
nucho | 0:0dcf639e09e9 | 20 | int main() { |
nucho | 0:0dcf639e09e9 | 21 | FILE *fpi; |
nucho | 0:0dcf639e09e9 | 22 | int i; |
nucho | 0:0dcf639e09e9 | 23 | unsigned char idat; |
nucho | 0:0dcf639e09e9 | 24 | unsigned char dat,dat2; |
nucho | 0:0dcf639e09e9 | 25 | //lcd.speed(115200); |
nucho | 0:0dcf639e09e9 | 26 | //lcd.speed(230400); |
nucho | 0:0dcf639e09e9 | 27 | lcd.speed(460800); |
nucho | 0:0dcf639e09e9 | 28 | |
nucho | 0:0dcf639e09e9 | 29 | if ((fpi=fopen("/local/sample.bmp", "rb")) == NULL) { |
nucho | 0:0dcf639e09e9 | 30 | fprintf(stderr, "input file open error\n"); |
nucho | 0:0dcf639e09e9 | 31 | exit(1); |
nucho | 0:0dcf639e09e9 | 32 | } |
nucho | 0:0dcf639e09e9 | 33 | |
nucho | 0:0dcf639e09e9 | 34 | for (i=0;i<0x46;i++)//bitmap headder throw |
nucho | 0:0dcf639e09e9 | 35 | fread(&idat, sizeof(unsigned char), 1, fpi); |
nucho | 0:0dcf639e09e9 | 36 | |
nucho | 0:0dcf639e09e9 | 37 | for(int i=0;i<128;i++){ |
nucho | 0:0dcf639e09e9 | 38 | for(int j=0;j<128;j++){ |
nucho | 0:0dcf639e09e9 | 39 | fread(&dat, sizeof(unsigned char), 1, fpi); |
nucho | 0:0dcf639e09e9 | 40 | fread(&dat2, sizeof(unsigned char), 1, fpi); |
nucho | 0:0dcf639e09e9 | 41 | |
nucho | 0:0dcf639e09e9 | 42 | int rgb=dat | dat2<<8; |
nucho | 0:0dcf639e09e9 | 43 | lcd.color(rgb); |
nucho | 0:0dcf639e09e9 | 44 | lcd.pixel(i,j); |
nucho | 0:0dcf639e09e9 | 45 | } |
nucho | 0:0dcf639e09e9 | 46 | } |
nucho | 0:0dcf639e09e9 | 47 | |
nucho | 0:0dcf639e09e9 | 48 | } |