پاسخ : فایل اکسپلورر mmc به وسیله arm
اینم برنامه من که باید تو همون جایی که آقا سجاد گفتن باید بزارین :
متغیر ibuffer هم قبل تابع main به صورت زیر تعریف شده :
char ibuffer[5760];
در مورد سرعت محاسباتتون درسته ولی اینم در نظر گرفتین که کلاک GPIO با کلاک CPU برابر نیست و تقسیم میشه.
برنامه همونیه که گذاشتیم و فکر نمیکنم عامل دیگه ای توش دخیل باشه .
اینم برنامه من که باید تو همون جایی که آقا سجاد گفتن باید بزارین :
کد:
}else if (par[strlen(par)-3]=='B') { // if file is bmp index=0; image_wi = 0; image_hi = 0; bmp_code_index = 1000; // while ((ch = fgetc (f)) != EOF ){ index++; if (index == 11) bmp_code_index = ch; else if (index == 19) image_wi += ch; else if (index == 20) image_wi |= (ch<<8); else if (index == 23) image_hi += ch; else if (index == 24) image_hi |=(ch<<8); else if (index == 29) image_color = ch; else if (index == 30) { // end reguire description . init LCD if (image_wi>240 | image_hi>320 | (image_color !=24 && image_color !=16)){ tftlcd_gotoxy(0,1); sprintf(buffer,"%i * %i 0x%xbit",image_wi,image_hi,image_color); tftlcd_puts(buffer,BLACK,RED,1); tftlcd_gotoxy(0,2); tftlcd_putsf("This Format Not Supported",BLACK,RED,1); return 0; }else { tftlcd_init_hispeed(0,image_wi-1,0,image_hi-1); TFTLCD_RS_HIGH; } }else if (index>=bmp_code_index) break; } i=0; do { fread (&ibuffer,1,5760,f); i++; if (image_color == 24) { for (index=0;index<5760;) { lcd_data = (ibuffer[index++]&0xF8)<<8; lcd_data |= (ibuffer[index++]&0xFC)<<3; lcd_data |= (ibuffer[index++])>>3; TFTLCD_CS_LOW; TFTLCD_WR_LOW; TFTLCD_DATAPORT_CLEAR; _TFTLCD_DATAPORT_SODR_ = (lcd_data << TFTLCD_DATAPORT_OFFSET); TFTLCD_WR_HIGH; TFTLCD_CS_HIGH; } } }while (i*5760<3*image_wi*image_hi); sprintf(buffer,"%i * %i 0x%xbit",image_wi,image_hi,image_color); tftlcd_gotoxy(0,19); tftlcd_puts(buffer,BLACK,RED,1); }
char ibuffer[5760];
در مورد سرعت محاسباتتون درسته ولی اینم در نظر گرفتین که کلاک GPIO با کلاک CPU برابر نیست و تقسیم میشه.
برنامه همونیه که گذاشتیم و فکر نمیکنم عامل دیگه ای توش دخیل باشه .
دیدگاه